version 1.0.0 commit

This commit is contained in:
Soulful Sailer
2026-03-04 21:00:14 -06:00
parent 13061a389f
commit eb0916d90a
17 changed files with 1941 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
let eventServer = new URL("http://" + window.location.host);
/**
* sends the specified GET request to the server and returns the response
* @param {string} filePath - path to requested file on server
* @param {string} dataType - type of data requested (text, json, blob)
* @param {Object} [headers] - request headers if needed
* @param {Object} [parameters] - Search Parameters
* @returns {Response} response - data returned by the server, decoded as indended
*/
function fetchFile(filePath, dataType, headers={}, parameters={}) {
//setup URL
let fileURL = eventServer;
fileURL.pathname = `/${filePath}`;
for (p in parameters) fileURL.searchParams.append(p, parameters[p]);
headers["method"] = "GET";
return fetch(fileURL, headers)
.then(response => {
//If server replies with requested file, return it. Else log HTTP error
if (response.ok) {
//decode the response as indended
switch (dataType) {
case "text": return response.text().then(data => { return data }); break;
case "json": return response.json().then(data => { return data }); break;
case "blob": return response.blob().then(data => { return data }); break;
}
}
else {
console.log(`HTTP-Error: ${events.status}\n${fileURL}`);
return undefined;
}
})
//if request is unable to be sent, log error
.catch(error => {
console.log(error.message);
return undefined;
});
}
/**
* sends specified data as a POST request to the server
* @param {string} filePath - path to requested file on server
* @param {string} data - stringified data to be sent to server
* @param {string} contentType - content type header for POST request
* @param {Object} [headers] - request headers if needed
* @returns {Response} response - server's response to the request
*/
function postData(filePath, data, contentType, headers={}) {
//setup URL
let fileURL = eventServer;
fileURL.pathname = `/${filePath}`;
headers["method"] = "POST";
headers["headers"] = {"Content-Type" : contentType};
headers["body"] = data;
return fetch(fileURL, headers)
.then(response => {
//return the server's response, log if there is an HTTP error
if (response.ok)
return response;
else {
console.log(`HTTP-Error: ${response.status}\n${fileURL}`);
return response;
}
})
//if request is unable to be sent, log error
.catch(error => {
console.log(error.message);
return undefined;
});
}