UNPKG

jai-server

Version:

Fast , simple and powerful web framework for creating REST APIs for your next project. RESTFul API server

83 lines (82 loc) 3.04 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); const path = __importStar(require("path")); const jai_static_1 = require("jai-static"); const responsePrototype = { send(data = '') { const self = this; if (typeof data === 'object') { const jsonData = JSON.stringify(data); self.setHeader('Content-Type', 'application/json'); self.setHeader('Content-Length', Buffer.byteLength(jsonData)); self.writeHead(self.statusCode || 200); self.end(jsonData); } else { const strData = String(data); self.setHeader('Content-Type', 'text/html'); self.setHeader('Content-Length', Buffer.byteLength(strData)); self.writeHead(self.statusCode || 200); self.end(strData); } }, json(data = '') { const self = this; const jsonData = JSON.stringify(data); self.setHeader('Content-Type', 'application/json'); self.setHeader('Content-Length', Buffer.byteLength(jsonData)); self.writeHead(self.statusCode || 200); self.end(jsonData); }, set: function (key, value) { this.setHeader(key, value); }, redirect(link, statusCode = 302) { const self = this; self.writeHead(statusCode, { Location: link }); self.end(); }, get(key) { return this.getHeader(key); }, status(statusCode) { this.statusCode = statusCode; return this; }, header(key, value) { this.setHeader(key, value); return this; }, async sendFile(filePath, options = {}, callback) { if (!options) options = {}; if (!Object.prototype.hasOwnProperty.call(options, 'fallthrough')) options.fallthrough = false; return await (0, jai_static_1.sendFile)(path.resolve(filePath), options, this, {}, callback); }, JAI: true }; exports.default = responsePrototype;