UNPKG

@modern-js/server-core

Version:

A Progressive React Framework for modern web development.

187 lines (186 loc) • 6.76 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var base_exports = {}; __export(base_exports, { createBaseHookContext: () => createBaseHookContext }); module.exports = __toCommonJS(base_exports); var import_class_private_field_get = require("@swc/helpers/_/_class_private_field_get"); var import_class_private_field_init = require("@swc/helpers/_/_class_private_field_init"); var import_class_private_field_set = require("@swc/helpers/_/_class_private_field_set"); var import_cookie = require("hono/cookie"); var import_utils = require("../../utils"); function createBaseHookContext(c, resParams) { const logger = c.get("logger"); const metrics = c.get("metrics"); return { request: new BaseHookRequest(c), response: new BaseHookResponse(c, resParams), logger, metrics }; } var _req = /* @__PURE__ */ new WeakMap(), _c = /* @__PURE__ */ new WeakMap(), _headersData = /* @__PURE__ */ new WeakMap(), _headers = /* @__PURE__ */ new WeakMap(); class BaseHookRequest { get url() { const query = (0, import_class_private_field_get._)(this, _c).req.query(); const q = Object.entries(query).map(([key, value]) => `${key}=${value}`).join("&"); return q ? `${(0, import_class_private_field_get._)(this, _c).req.path}?${q}` : (0, import_class_private_field_get._)(this, _c).req.path; } // TODO: remove next major version set url(_u) { } get host() { return (0, import_utils.getHost)((0, import_class_private_field_get._)(this, _req).raw); } // TODO: remove next major version set host(_h) { } get pathname() { return (0, import_class_private_field_get._)(this, _req).path; } // TODO: remove next major version set pathname(_p) { } get query() { return (0, import_class_private_field_get._)(this, _req).query(); } // TODO: remove next major version set query(_q) { } get headers() { return (0, import_class_private_field_get._)(this, _headers); } // TODO: remove next major version set headers(_h) { } get cookies() { return { // FIXME: ModernRequest Type Error get: (key) => { return (0, import_cookie.getCookie)((0, import_class_private_field_get._)(this, _c), key); } }; } get cookie() { return (0, import_class_private_field_get._)(this, _req).header("cookie"); } // TODO: remove next major version set cookie(_c2) { } constructor(c) { (0, import_class_private_field_init._)(this, _req, { writable: true, value: void 0 }); (0, import_class_private_field_init._)(this, _c, { writable: true, value: void 0 }); (0, import_class_private_field_init._)(this, _headersData, { writable: true, value: void 0 }); (0, import_class_private_field_init._)(this, _headers, { writable: true, value: void 0 }); (0, import_class_private_field_set._)(this, _headersData, {}); (0, import_class_private_field_set._)(this, _c, c); (0, import_class_private_field_set._)(this, _req, c.req); const rawHeaders = (0, import_class_private_field_get._)(this, _req).raw.headers; rawHeaders.forEach((value, key) => { (0, import_class_private_field_get._)(this, _headersData)[key] = value; }); (0, import_class_private_field_set._)(this, _headers, new Proxy((0, import_class_private_field_get._)(this, _headersData), { get(target, p) { return target[p]; }, set(target, p, newValue) { target[p] = newValue; rawHeaders.set(p, newValue); return true; } })); } } var _c1 = /* @__PURE__ */ new WeakMap(), _resArgs = /* @__PURE__ */ new WeakMap(); class BaseHookResponse { get(key) { return (0, import_class_private_field_get._)(this, _c1).res.headers.get(key); } set(key, value) { if ([ "set-cookie", "Set-Cookie" ].includes(key)) { var _class_private_field_get1; (0, import_class_private_field_get._)(this, _c1).header(key, value.toString(), { append: true }); (_class_private_field_get1 = (0, import_class_private_field_get._)(this, _resArgs)) === null || _class_private_field_get1 === void 0 ? void 0 : _class_private_field_get1.headers.append(key, value.toString()); } else { var _class_private_field_get2; (0, import_class_private_field_get._)(this, _c1).header(key, value.toString()); (_class_private_field_get2 = (0, import_class_private_field_get._)(this, _resArgs)) === null || _class_private_field_get2 === void 0 ? void 0 : _class_private_field_get2.headers.set(key, value.toString()); } } status(code) { (0, import_class_private_field_get._)(this, _c1).status(code); (0, import_class_private_field_get._)(this, _resArgs) && ((0, import_class_private_field_get._)(this, _resArgs).status = code); } getStatus() { return (0, import_class_private_field_get._)(this, _c1).res.status; } get cookies() { const setCookie = (key, value) => { (0, import_class_private_field_get._)(this, _c1).header("set-cookie", `${key}=${value}`, { append: true }); }; const clearCookie = () => { (0, import_class_private_field_get._)(this, _c1).header("set-cookie", void 0); }; return { set: setCookie, clear: clearCookie }; } raw(body, options) { (0, import_class_private_field_get._)(this, _c1).res = (0, import_class_private_field_get._)(this, _c1).newResponse(body, options); this.private_overrided = true; } constructor(c, resArgs) { (0, import_class_private_field_init._)(this, _c1, { writable: true, value: void 0 }); (0, import_class_private_field_init._)(this, _resArgs, { writable: true, value: void 0 }); this.private_overrided = false; (0, import_class_private_field_set._)(this, _c1, c); (0, import_class_private_field_set._)(this, _resArgs, resArgs); } } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { createBaseHookContext });