UNPKG

@manzoomeh/basicore.server

Version:

java script version of Manzoomeh Negaran http web server for nodejs

42 lines (40 loc) 1.34 kB
import fs from "fs"; import { StatusCodes } from "http-status-codes"; import Request from "./request.js"; import RequestBaseResponse from "./requestBaseResponse.js"; export default class Index2Response extends RequestBaseResponse { /** * @param {Request} request */ constructor(request) { super(request); } /** * @returns {Promise<[number,NodeJS.Dict<number | string | string[]>,*]>} */ async getResultAsync() { var path = this._request.cms.webserver.filepath; if (fs.existsSync(path)) { const content = await fs.promises.readFile(path); return [ parseInt(this._request.cms.webserver.headercode.split(" ")[0]), { ...{ "content-type": this._request.cms.webserver.mime }, ...(this._request.cms.webserver.gzip == "true" && { "Content-Encoding": "gzip", }), ...(this._request.cms.webserver.etag && { ETag: this._request.cms.webserver.etag, }), ...(this._request.cms.webserver.lastmodified && { "Last-Modified": this._request.cms.webserver.lastmodified, }), ...(this._request.cms.http && this._request.cms.http), }, content, ]; } else { return [StatusCodes.NOT_FOUND, {}, null]; } } }