diff options
Diffstat (limited to 'cli/bench/testdata/npm/hono/dist/context.js')
-rw-r--r-- | cli/bench/testdata/npm/hono/dist/context.js | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/cli/bench/testdata/npm/hono/dist/context.js b/cli/bench/testdata/npm/hono/dist/context.js new file mode 100644 index 000000000..bfbeb4200 --- /dev/null +++ b/cli/bench/testdata/npm/hono/dist/context.js @@ -0,0 +1,112 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HonoContext = void 0; +const cookie_1 = require("./utils/cookie"); +const url_1 = require("./utils/url"); +class HonoContext { + constructor(req, env = undefined, executionCtx = undefined, notFoundHandler = () => new Response()) { + this._status = 200; + this._pretty = false; + this._prettySpace = 2; + this._executionCtx = executionCtx; + this.req = req; + this.env = env ? env : {}; + this.notFoundHandler = notFoundHandler; + this.finalized = false; + } + get event() { + if (this._executionCtx instanceof FetchEvent) { + return this._executionCtx; + } + else { + throw Error('This context has no FetchEvent'); + } + } + get executionCtx() { + if (this._executionCtx) { + return this._executionCtx; + } + else { + throw Error('This context has no ExecutionContext'); + } + } + get res() { + return (this._res || (this._res = new Response())); + } + set res(_res) { + this._res = _res; + this.finalized = true; + } + header(name, value) { + this._headers || (this._headers = {}); + this._headers[name.toLowerCase()] = value; + if (this.finalized) { + this.res.headers.set(name, value); + } + } + status(status) { + this._status = status; + } + set(key, value) { + this._map || (this._map = {}); + this._map[key] = value; + } + get(key) { + if (!this._map) { + return undefined; + } + return this._map[key]; + } + pretty(prettyJSON, space = 2) { + this._pretty = prettyJSON; + this._prettySpace = space; + } + newResponse(data, status, headers = {}) { + const _headers = { ...this._headers }; + if (this._res) { + this._res.headers.forEach((v, k) => { + _headers[k] = v; + }); + } + return new Response(data, { + status: status || this._status || 200, + headers: { ..._headers, ...headers }, + }); + } + body(data, status = this._status, headers = {}) { + return this.newResponse(data, status, headers); + } + text(text, status = this._status, headers = {}) { + headers['content-type'] = 'text/plain; charset=UTF-8'; + return this.body(text, status, headers); + } + json(object, status = this._status, headers = {}) { + const body = this._pretty + ? JSON.stringify(object, null, this._prettySpace) + : JSON.stringify(object); + headers['content-type'] = 'application/json; charset=UTF-8'; + return this.body(body, status, headers); + } + html(html, status = this._status, headers = {}) { + headers['content-type'] = 'text/html; charset=UTF-8'; + return this.body(html, status, headers); + } + redirect(location, status = 302) { + if (!(0, url_1.isAbsoluteURL)(location)) { + const url = new URL(this.req.url); + url.pathname = location; + location = url.toString(); + } + return this.newResponse(null, status, { + Location: location, + }); + } + cookie(name, value, opt) { + const cookie = (0, cookie_1.serialize)(name, value, opt); + this.header('set-cookie', cookie); + } + notFound() { + return this.notFoundHandler(this); + } +} +exports.HonoContext = HonoContext; |