summaryrefslogtreecommitdiff
path: root/cli/bench/testdata/npm/hono/dist/context.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/bench/testdata/npm/hono/dist/context.js')
-rw-r--r--cli/bench/testdata/npm/hono/dist/context.js112
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;