@hono/node-server 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -48,15 +48,15 @@ Essentially, you can simply use the latest version of each major release.
48
48
 
49
49
  ## Installation
50
50
 
51
- You can install from npm registry with `npm` command:
51
+ You can install it from the npm registry with `npm` command:
52
52
 
53
- ```
53
+ ```sh
54
54
  npm install @hono/node-server
55
55
  ```
56
56
 
57
57
  Or use `yarn`:
58
58
 
59
- ```
59
+ ```sh
60
60
  yarn add @hono/node-server
61
61
  ```
62
62
 
@@ -79,7 +79,7 @@ serve(app, (info) => {
79
79
 
80
80
  For example, run it using `ts-node`. Then an HTTP server will be launched. The default port is `3000`.
81
81
 
82
- ```
82
+ ```sh
83
83
  ts-node ./index.ts
84
84
  ```
85
85
 
@@ -114,6 +114,17 @@ serve({
114
114
  })
115
115
  ```
116
116
 
117
+ ### `overrideGlobalObjects`
118
+
119
+ The default value is `true`. The Node.js Adapter rewrites the global Request/Response and uses a lightweight Request/Response to improve performance. If you don't want to do that, set `false`.
120
+
121
+ ```ts
122
+ serve({
123
+ fetch: app.fetch,
124
+ overrideGlobalObjects: false,
125
+ })
126
+ ```
127
+
117
128
  ## Middleware
118
129
 
119
130
  Most built-in middleware also works with Node.js.
package/dist/index.js CHANGED
@@ -55,9 +55,6 @@ var Request = class extends GlobalRequest {
55
55
  super(input, options);
56
56
  }
57
57
  };
58
- Object.defineProperty(global, "Request", {
59
- value: Request
60
- });
61
58
  var newRequestFromIncoming = (method, url, incoming, abortController) => {
62
59
  const headerRecord = [];
63
60
  const rawHeaders = incoming.rawHeaders;
@@ -138,7 +135,7 @@ var newRequest = (incoming) => {
138
135
  const req = Object.create(requestPrototype);
139
136
  req[incomingKey] = incoming;
140
137
  req[urlKey] = new URL(
141
- `http://${incoming instanceof import_node_http2.Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
138
+ `${incoming instanceof import_node_http2.Http2ServerRequest || incoming.socket && incoming.socket.encrypted ? "https" : "http"}://${incoming instanceof import_node_http2.Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
142
139
  ).href;
143
140
  return req;
144
141
  };
@@ -263,9 +260,6 @@ var Response2 = class _Response {
263
260
  });
264
261
  Object.setPrototypeOf(Response2, GlobalResponse);
265
262
  Object.setPrototypeOf(Response2.prototype, GlobalResponse.prototype);
266
- Object.defineProperty(global, "Response", {
267
- value: Response2
268
- });
269
263
  var stateKey = Reflect.ownKeys(new GlobalResponse()).find(
270
264
  (k) => typeof k === "symbol" && k.toString() === "Symbol(state)"
271
265
  );
@@ -392,6 +386,14 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
392
386
  }
393
387
  };
394
388
  var getRequestListener = (fetchCallback, options = {}) => {
389
+ if (options.overrideGlobalObjects !== false && global.Request !== Request) {
390
+ Object.defineProperty(global, "Request", {
391
+ value: Request
392
+ });
393
+ Object.defineProperty(global, "Response", {
394
+ value: Response2
395
+ });
396
+ }
395
397
  return async (incoming, outgoing) => {
396
398
  let res;
397
399
  const req = newRequest(incoming);
@@ -430,7 +432,9 @@ var getRequestListener = (fetchCallback, options = {}) => {
430
432
  // src/server.ts
431
433
  var createAdaptorServer = (options) => {
432
434
  const fetchCallback = options.fetch;
433
- const requestListener = getRequestListener(fetchCallback);
435
+ const requestListener = getRequestListener(fetchCallback, {
436
+ overrideGlobalObjects: options.overrideGlobalObjects
437
+ });
434
438
  const createServer = options.createServer || import_node_http.createServer;
435
439
  const server = createServer(options.serverOptions || {}, requestListener);
436
440
  return server;
package/dist/index.mjs CHANGED
@@ -17,9 +17,6 @@ var Request = class extends GlobalRequest {
17
17
  super(input, options);
18
18
  }
19
19
  };
20
- Object.defineProperty(global, "Request", {
21
- value: Request
22
- });
23
20
  var newRequestFromIncoming = (method, url, incoming, abortController) => {
24
21
  const headerRecord = [];
25
22
  const rawHeaders = incoming.rawHeaders;
@@ -100,7 +97,7 @@ var newRequest = (incoming) => {
100
97
  const req = Object.create(requestPrototype);
101
98
  req[incomingKey] = incoming;
102
99
  req[urlKey] = new URL(
103
- `http://${incoming instanceof Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
100
+ `${incoming instanceof Http2ServerRequest || incoming.socket && incoming.socket.encrypted ? "https" : "http"}://${incoming instanceof Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
104
101
  ).href;
105
102
  return req;
106
103
  };
@@ -225,9 +222,6 @@ var Response2 = class _Response {
225
222
  });
226
223
  Object.setPrototypeOf(Response2, GlobalResponse);
227
224
  Object.setPrototypeOf(Response2.prototype, GlobalResponse.prototype);
228
- Object.defineProperty(global, "Response", {
229
- value: Response2
230
- });
231
225
  var stateKey = Reflect.ownKeys(new GlobalResponse()).find(
232
226
  (k) => typeof k === "symbol" && k.toString() === "Symbol(state)"
233
227
  );
@@ -354,6 +348,14 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
354
348
  }
355
349
  };
356
350
  var getRequestListener = (fetchCallback, options = {}) => {
351
+ if (options.overrideGlobalObjects !== false && global.Request !== Request) {
352
+ Object.defineProperty(global, "Request", {
353
+ value: Request
354
+ });
355
+ Object.defineProperty(global, "Response", {
356
+ value: Response2
357
+ });
358
+ }
357
359
  return async (incoming, outgoing) => {
358
360
  let res;
359
361
  const req = newRequest(incoming);
@@ -392,7 +394,9 @@ var getRequestListener = (fetchCallback, options = {}) => {
392
394
  // src/server.ts
393
395
  var createAdaptorServer = (options) => {
394
396
  const fetchCallback = options.fetch;
395
- const requestListener = getRequestListener(fetchCallback);
397
+ const requestListener = getRequestListener(fetchCallback, {
398
+ overrideGlobalObjects: options.overrideGlobalObjects
399
+ });
396
400
  const createServer = options.createServer || createServerHTTP;
397
401
  const server = createServer(options.serverOptions || {}, requestListener);
398
402
  return server;
@@ -5,6 +5,7 @@ import 'node:https';
5
5
 
6
6
  declare const getRequestListener: (fetchCallback: FetchCallback, options?: {
7
7
  errorHandler?: CustomErrorHandler;
8
+ overrideGlobalObjects?: boolean;
8
9
  }) => (incoming: IncomingMessage | Http2ServerRequest, outgoing: ServerResponse | Http2ServerResponse) => Promise<void>;
9
10
 
10
11
  export { getRequestListener };
@@ -5,6 +5,7 @@ import 'node:https';
5
5
 
6
6
  declare const getRequestListener: (fetchCallback: FetchCallback, options?: {
7
7
  errorHandler?: CustomErrorHandler;
8
+ overrideGlobalObjects?: boolean;
8
9
  }) => (incoming: IncomingMessage | Http2ServerRequest, outgoing: ServerResponse | Http2ServerResponse) => Promise<void>;
9
10
 
10
11
  export { getRequestListener };
package/dist/listener.js CHANGED
@@ -50,9 +50,6 @@ var Request = class extends GlobalRequest {
50
50
  super(input, options);
51
51
  }
52
52
  };
53
- Object.defineProperty(global, "Request", {
54
- value: Request
55
- });
56
53
  var newRequestFromIncoming = (method, url, incoming, abortController) => {
57
54
  const headerRecord = [];
58
55
  const rawHeaders = incoming.rawHeaders;
@@ -133,7 +130,7 @@ var newRequest = (incoming) => {
133
130
  const req = Object.create(requestPrototype);
134
131
  req[incomingKey] = incoming;
135
132
  req[urlKey] = new URL(
136
- `http://${incoming instanceof import_node_http2.Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
133
+ `${incoming instanceof import_node_http2.Http2ServerRequest || incoming.socket && incoming.socket.encrypted ? "https" : "http"}://${incoming instanceof import_node_http2.Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
137
134
  ).href;
138
135
  return req;
139
136
  };
@@ -258,9 +255,6 @@ var Response2 = class _Response {
258
255
  });
259
256
  Object.setPrototypeOf(Response2, GlobalResponse);
260
257
  Object.setPrototypeOf(Response2.prototype, GlobalResponse.prototype);
261
- Object.defineProperty(global, "Response", {
262
- value: Response2
263
- });
264
258
  var stateKey = Reflect.ownKeys(new GlobalResponse()).find(
265
259
  (k) => typeof k === "symbol" && k.toString() === "Symbol(state)"
266
260
  );
@@ -387,6 +381,14 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
387
381
  }
388
382
  };
389
383
  var getRequestListener = (fetchCallback, options = {}) => {
384
+ if (options.overrideGlobalObjects !== false && global.Request !== Request) {
385
+ Object.defineProperty(global, "Request", {
386
+ value: Request
387
+ });
388
+ Object.defineProperty(global, "Response", {
389
+ value: Response2
390
+ });
391
+ }
390
392
  return async (incoming, outgoing) => {
391
393
  let res;
392
394
  const req = newRequest(incoming);
package/dist/listener.mjs CHANGED
@@ -14,9 +14,6 @@ var Request = class extends GlobalRequest {
14
14
  super(input, options);
15
15
  }
16
16
  };
17
- Object.defineProperty(global, "Request", {
18
- value: Request
19
- });
20
17
  var newRequestFromIncoming = (method, url, incoming, abortController) => {
21
18
  const headerRecord = [];
22
19
  const rawHeaders = incoming.rawHeaders;
@@ -97,7 +94,7 @@ var newRequest = (incoming) => {
97
94
  const req = Object.create(requestPrototype);
98
95
  req[incomingKey] = incoming;
99
96
  req[urlKey] = new URL(
100
- `http://${incoming instanceof Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
97
+ `${incoming instanceof Http2ServerRequest || incoming.socket && incoming.socket.encrypted ? "https" : "http"}://${incoming instanceof Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
101
98
  ).href;
102
99
  return req;
103
100
  };
@@ -222,9 +219,6 @@ var Response2 = class _Response {
222
219
  });
223
220
  Object.setPrototypeOf(Response2, GlobalResponse);
224
221
  Object.setPrototypeOf(Response2.prototype, GlobalResponse.prototype);
225
- Object.defineProperty(global, "Response", {
226
- value: Response2
227
- });
228
222
  var stateKey = Reflect.ownKeys(new GlobalResponse()).find(
229
223
  (k) => typeof k === "symbol" && k.toString() === "Symbol(state)"
230
224
  );
@@ -351,6 +345,14 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
351
345
  }
352
346
  };
353
347
  var getRequestListener = (fetchCallback, options = {}) => {
348
+ if (options.overrideGlobalObjects !== false && global.Request !== Request) {
349
+ Object.defineProperty(global, "Request", {
350
+ value: Request
351
+ });
352
+ Object.defineProperty(global, "Response", {
353
+ value: Response2
354
+ });
355
+ }
354
356
  return async (incoming, outgoing) => {
355
357
  let res;
356
358
  const req = newRequest(incoming);
package/dist/request.js CHANGED
@@ -41,9 +41,6 @@ var Request = class extends GlobalRequest {
41
41
  super(input, options);
42
42
  }
43
43
  };
44
- Object.defineProperty(global, "Request", {
45
- value: Request
46
- });
47
44
  var newRequestFromIncoming = (method, url, incoming, abortController) => {
48
45
  const headerRecord = [];
49
46
  const rawHeaders = incoming.rawHeaders;
@@ -124,7 +121,7 @@ var newRequest = (incoming) => {
124
121
  const req = Object.create(requestPrototype);
125
122
  req[incomingKey] = incoming;
126
123
  req[urlKey] = new URL(
127
- `http://${incoming instanceof import_node_http2.Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
124
+ `${incoming instanceof import_node_http2.Http2ServerRequest || incoming.socket && incoming.socket.encrypted ? "https" : "http"}://${incoming instanceof import_node_http2.Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
128
125
  ).href;
129
126
  return req;
130
127
  };
package/dist/request.mjs CHANGED
@@ -14,9 +14,6 @@ var Request = class extends GlobalRequest {
14
14
  super(input, options);
15
15
  }
16
16
  };
17
- Object.defineProperty(global, "Request", {
18
- value: Request
19
- });
20
17
  var newRequestFromIncoming = (method, url, incoming, abortController) => {
21
18
  const headerRecord = [];
22
19
  const rawHeaders = incoming.rawHeaders;
@@ -97,7 +94,7 @@ var newRequest = (incoming) => {
97
94
  const req = Object.create(requestPrototype);
98
95
  req[incomingKey] = incoming;
99
96
  req[urlKey] = new URL(
100
- `http://${incoming instanceof Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
97
+ `${incoming instanceof Http2ServerRequest || incoming.socket && incoming.socket.encrypted ? "https" : "http"}://${incoming instanceof Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
101
98
  ).href;
102
99
  return req;
103
100
  };
package/dist/response.js CHANGED
@@ -108,9 +108,6 @@ var Response = class _Response {
108
108
  });
109
109
  Object.setPrototypeOf(Response, GlobalResponse);
110
110
  Object.setPrototypeOf(Response.prototype, GlobalResponse.prototype);
111
- Object.defineProperty(global, "Response", {
112
- value: Response
113
- });
114
111
  var stateKey = Reflect.ownKeys(new GlobalResponse()).find(
115
112
  (k) => typeof k === "symbol" && k.toString() === "Symbol(state)"
116
113
  );
package/dist/response.mjs CHANGED
@@ -79,9 +79,6 @@ var Response = class _Response {
79
79
  });
80
80
  Object.setPrototypeOf(Response, GlobalResponse);
81
81
  Object.setPrototypeOf(Response.prototype, GlobalResponse.prototype);
82
- Object.defineProperty(global, "Response", {
83
- value: Response
84
- });
85
82
  var stateKey = Reflect.ownKeys(new GlobalResponse()).find(
86
83
  (k) => typeof k === "symbol" && k.toString() === "Symbol(state)"
87
84
  );
package/dist/server.js CHANGED
@@ -52,9 +52,6 @@ var Request = class extends GlobalRequest {
52
52
  super(input, options);
53
53
  }
54
54
  };
55
- Object.defineProperty(global, "Request", {
56
- value: Request
57
- });
58
55
  var newRequestFromIncoming = (method, url, incoming, abortController) => {
59
56
  const headerRecord = [];
60
57
  const rawHeaders = incoming.rawHeaders;
@@ -135,7 +132,7 @@ var newRequest = (incoming) => {
135
132
  const req = Object.create(requestPrototype);
136
133
  req[incomingKey] = incoming;
137
134
  req[urlKey] = new URL(
138
- `http://${incoming instanceof import_node_http2.Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
135
+ `${incoming instanceof import_node_http2.Http2ServerRequest || incoming.socket && incoming.socket.encrypted ? "https" : "http"}://${incoming instanceof import_node_http2.Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
139
136
  ).href;
140
137
  return req;
141
138
  };
@@ -260,9 +257,6 @@ var Response2 = class _Response {
260
257
  });
261
258
  Object.setPrototypeOf(Response2, GlobalResponse);
262
259
  Object.setPrototypeOf(Response2.prototype, GlobalResponse.prototype);
263
- Object.defineProperty(global, "Response", {
264
- value: Response2
265
- });
266
260
  var stateKey = Reflect.ownKeys(new GlobalResponse()).find(
267
261
  (k) => typeof k === "symbol" && k.toString() === "Symbol(state)"
268
262
  );
@@ -389,6 +383,14 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
389
383
  }
390
384
  };
391
385
  var getRequestListener = (fetchCallback, options = {}) => {
386
+ if (options.overrideGlobalObjects !== false && global.Request !== Request) {
387
+ Object.defineProperty(global, "Request", {
388
+ value: Request
389
+ });
390
+ Object.defineProperty(global, "Response", {
391
+ value: Response2
392
+ });
393
+ }
392
394
  return async (incoming, outgoing) => {
393
395
  let res;
394
396
  const req = newRequest(incoming);
@@ -427,7 +429,9 @@ var getRequestListener = (fetchCallback, options = {}) => {
427
429
  // src/server.ts
428
430
  var createAdaptorServer = (options) => {
429
431
  const fetchCallback = options.fetch;
430
- const requestListener = getRequestListener(fetchCallback);
432
+ const requestListener = getRequestListener(fetchCallback, {
433
+ overrideGlobalObjects: options.overrideGlobalObjects
434
+ });
431
435
  const createServer = options.createServer || import_node_http.createServer;
432
436
  const server = createServer(options.serverOptions || {}, requestListener);
433
437
  return server;
package/dist/server.mjs CHANGED
@@ -17,9 +17,6 @@ var Request = class extends GlobalRequest {
17
17
  super(input, options);
18
18
  }
19
19
  };
20
- Object.defineProperty(global, "Request", {
21
- value: Request
22
- });
23
20
  var newRequestFromIncoming = (method, url, incoming, abortController) => {
24
21
  const headerRecord = [];
25
22
  const rawHeaders = incoming.rawHeaders;
@@ -100,7 +97,7 @@ var newRequest = (incoming) => {
100
97
  const req = Object.create(requestPrototype);
101
98
  req[incomingKey] = incoming;
102
99
  req[urlKey] = new URL(
103
- `http://${incoming instanceof Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
100
+ `${incoming instanceof Http2ServerRequest || incoming.socket && incoming.socket.encrypted ? "https" : "http"}://${incoming instanceof Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
104
101
  ).href;
105
102
  return req;
106
103
  };
@@ -225,9 +222,6 @@ var Response2 = class _Response {
225
222
  });
226
223
  Object.setPrototypeOf(Response2, GlobalResponse);
227
224
  Object.setPrototypeOf(Response2.prototype, GlobalResponse.prototype);
228
- Object.defineProperty(global, "Response", {
229
- value: Response2
230
- });
231
225
  var stateKey = Reflect.ownKeys(new GlobalResponse()).find(
232
226
  (k) => typeof k === "symbol" && k.toString() === "Symbol(state)"
233
227
  );
@@ -354,6 +348,14 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
354
348
  }
355
349
  };
356
350
  var getRequestListener = (fetchCallback, options = {}) => {
351
+ if (options.overrideGlobalObjects !== false && global.Request !== Request) {
352
+ Object.defineProperty(global, "Request", {
353
+ value: Request
354
+ });
355
+ Object.defineProperty(global, "Response", {
356
+ value: Response2
357
+ });
358
+ }
357
359
  return async (incoming, outgoing) => {
358
360
  let res;
359
361
  const req = newRequest(incoming);
@@ -392,7 +394,9 @@ var getRequestListener = (fetchCallback, options = {}) => {
392
394
  // src/server.ts
393
395
  var createAdaptorServer = (options) => {
394
396
  const fetchCallback = options.fetch;
395
- const requestListener = getRequestListener(fetchCallback);
397
+ const requestListener = getRequestListener(fetchCallback, {
398
+ overrideGlobalObjects: options.overrideGlobalObjects
399
+ });
396
400
  const createServer = options.createServer || createServerHTTP;
397
401
  const server = createServer(options.serverOptions || {}, requestListener);
398
402
  return server;
package/dist/types.d.mts CHANGED
@@ -34,6 +34,7 @@ type createSecureHttp2Options = {
34
34
  type ServerOptions = createHttpOptions | createHttpsOptions | createHttp2Options | createSecureHttp2Options;
35
35
  type Options = {
36
36
  fetch: FetchCallback;
37
+ overrideGlobalObjects?: boolean;
37
38
  port?: number;
38
39
  hostname?: string;
39
40
  } & ServerOptions;
package/dist/types.d.ts CHANGED
@@ -34,6 +34,7 @@ type createSecureHttp2Options = {
34
34
  type ServerOptions = createHttpOptions | createHttpsOptions | createHttp2Options | createSecureHttp2Options;
35
35
  type Options = {
36
36
  fetch: FetchCallback;
37
+ overrideGlobalObjects?: boolean;
37
38
  port?: number;
38
39
  hostname?: string;
39
40
  } & ServerOptions;
package/dist/vercel.js CHANGED
@@ -50,9 +50,6 @@ var Request = class extends GlobalRequest {
50
50
  super(input, options);
51
51
  }
52
52
  };
53
- Object.defineProperty(global, "Request", {
54
- value: Request
55
- });
56
53
  var newRequestFromIncoming = (method, url, incoming, abortController) => {
57
54
  const headerRecord = [];
58
55
  const rawHeaders = incoming.rawHeaders;
@@ -133,7 +130,7 @@ var newRequest = (incoming) => {
133
130
  const req = Object.create(requestPrototype);
134
131
  req[incomingKey] = incoming;
135
132
  req[urlKey] = new URL(
136
- `http://${incoming instanceof import_node_http2.Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
133
+ `${incoming instanceof import_node_http2.Http2ServerRequest || incoming.socket && incoming.socket.encrypted ? "https" : "http"}://${incoming instanceof import_node_http2.Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
137
134
  ).href;
138
135
  return req;
139
136
  };
@@ -258,9 +255,6 @@ var Response2 = class _Response {
258
255
  });
259
256
  Object.setPrototypeOf(Response2, GlobalResponse);
260
257
  Object.setPrototypeOf(Response2.prototype, GlobalResponse.prototype);
261
- Object.defineProperty(global, "Response", {
262
- value: Response2
263
- });
264
258
  var stateKey = Reflect.ownKeys(new GlobalResponse()).find(
265
259
  (k) => typeof k === "symbol" && k.toString() === "Symbol(state)"
266
260
  );
@@ -387,6 +381,14 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
387
381
  }
388
382
  };
389
383
  var getRequestListener = (fetchCallback, options = {}) => {
384
+ if (options.overrideGlobalObjects !== false && global.Request !== Request) {
385
+ Object.defineProperty(global, "Request", {
386
+ value: Request
387
+ });
388
+ Object.defineProperty(global, "Response", {
389
+ value: Response2
390
+ });
391
+ }
390
392
  return async (incoming, outgoing) => {
391
393
  let res;
392
394
  const req = newRequest(incoming);
package/dist/vercel.mjs CHANGED
@@ -14,9 +14,6 @@ var Request = class extends GlobalRequest {
14
14
  super(input, options);
15
15
  }
16
16
  };
17
- Object.defineProperty(global, "Request", {
18
- value: Request
19
- });
20
17
  var newRequestFromIncoming = (method, url, incoming, abortController) => {
21
18
  const headerRecord = [];
22
19
  const rawHeaders = incoming.rawHeaders;
@@ -97,7 +94,7 @@ var newRequest = (incoming) => {
97
94
  const req = Object.create(requestPrototype);
98
95
  req[incomingKey] = incoming;
99
96
  req[urlKey] = new URL(
100
- `http://${incoming instanceof Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
97
+ `${incoming instanceof Http2ServerRequest || incoming.socket && incoming.socket.encrypted ? "https" : "http"}://${incoming instanceof Http2ServerRequest ? incoming.authority : incoming.headers.host}${incoming.url}`
101
98
  ).href;
102
99
  return req;
103
100
  };
@@ -222,9 +219,6 @@ var Response2 = class _Response {
222
219
  });
223
220
  Object.setPrototypeOf(Response2, GlobalResponse);
224
221
  Object.setPrototypeOf(Response2.prototype, GlobalResponse.prototype);
225
- Object.defineProperty(global, "Response", {
226
- value: Response2
227
- });
228
222
  var stateKey = Reflect.ownKeys(new GlobalResponse()).find(
229
223
  (k) => typeof k === "symbol" && k.toString() === "Symbol(state)"
230
224
  );
@@ -351,6 +345,14 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
351
345
  }
352
346
  };
353
347
  var getRequestListener = (fetchCallback, options = {}) => {
348
+ if (options.overrideGlobalObjects !== false && global.Request !== Request) {
349
+ Object.defineProperty(global, "Request", {
350
+ value: Request
351
+ });
352
+ Object.defineProperty(global, "Response", {
353
+ value: Response2
354
+ });
355
+ }
354
356
  return async (incoming, outgoing) => {
355
357
  let res;
356
358
  const req = newRequest(incoming);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hono/node-server",
3
- "version": "1.9.0",
3
+ "version": "1.10.0",
4
4
  "description": "Node.js Adapter for Hono",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",