diff --git a/scripts/RequestParser.js b/scripts/RequestParser.js new file mode 100644 index 0000000..6d95a61 --- /dev/null +++ b/scripts/RequestParser.js @@ -0,0 +1,28 @@ +class RequestParser { + /** + Parse a new request. + + @param {object} REQUEST - The request object + */ + constructor(REQUEST) { + if (REQUEST ? (Object.keys(REQUEST).length) : false) { + this[`request`] = REQUEST + } + else {throw new Error()}; + } + + /** + Get and format the headers from the request. + + @returns {object} - The headers + */ + getHeaders() { + this[`headers`] = this[`request`][`headers`] + this[`headers`][`ipaddress`] = this[`request`][`ip`]; + this[`headers`][`software`] = this[`headers`][`user-agent`]; + this[`headers`][`language`] = this[`headers`]["accept-language"]; + return this[`headers`]; + } +} + +module.exports = {RequestParser}; \ No newline at end of file