h3 0.8.4 → 0.8.5
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/dist/index.cjs +7 -6
- package/dist/index.d.ts +6 -3
- package/dist/index.mjs +7 -6
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -133,7 +133,12 @@ function assertMethod(event, expected, allowHead) {
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
function getRequestHeaders(event) {
|
|
136
|
-
|
|
136
|
+
const _headers = {};
|
|
137
|
+
for (const key in event.req.headers) {
|
|
138
|
+
const val = event.req.headers[key];
|
|
139
|
+
_headers[key] = Array.isArray(val) ? val.filter(Boolean).join(", ") : val;
|
|
140
|
+
}
|
|
141
|
+
return _headers;
|
|
137
142
|
}
|
|
138
143
|
const getHeaders = getRequestHeaders;
|
|
139
144
|
function getRequestHeader(event, name) {
|
|
@@ -290,7 +295,7 @@ function sendStream(event, data) {
|
|
|
290
295
|
const noop = () => {
|
|
291
296
|
};
|
|
292
297
|
function writeEarlyHints(event, hints, cb = noop) {
|
|
293
|
-
if (!event.res.socket
|
|
298
|
+
if (!event.res.socket) {
|
|
294
299
|
cb();
|
|
295
300
|
return;
|
|
296
301
|
}
|
|
@@ -299,10 +304,6 @@ function writeEarlyHints(event, hints, cb = noop) {
|
|
|
299
304
|
}
|
|
300
305
|
if (hints.link) {
|
|
301
306
|
hints.link = Array.isArray(hints.link) ? hints.link : hints.link.split(",");
|
|
302
|
-
hints.link = hints.link.map((l) => l.trim().replace(/; crossorigin/g, ""));
|
|
303
|
-
}
|
|
304
|
-
if ("writeEarlyHints" in event.res) {
|
|
305
|
-
return event.res.writeEarlyHints(hints, cb);
|
|
306
307
|
}
|
|
307
308
|
const headers = Object.entries(hints).map((e) => [e[0].toLowerCase(), e[1]]);
|
|
308
309
|
if (!headers.length) {
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,9 @@ interface EventHandler<T = any> {
|
|
|
13
13
|
(event: H3Event): EventHandlerResponse<T>;
|
|
14
14
|
}
|
|
15
15
|
declare type LazyEventHandler = () => EventHandler | Promise<EventHandler>;
|
|
16
|
+
declare type RequestHeaders = {
|
|
17
|
+
[name: string]: string | undefined;
|
|
18
|
+
};
|
|
16
19
|
|
|
17
20
|
declare type NodeListener = (req: IncomingMessage, res: ServerResponse) => void;
|
|
18
21
|
declare type NodePromisifiedHandler = (req: IncomingMessage, res: ServerResponse) => Promise<any>;
|
|
@@ -250,9 +253,9 @@ declare function getMethod(event: H3Event, defaultMethod?: HTTPMethod): HTTPMeth
|
|
|
250
253
|
declare const useMethod: typeof getMethod;
|
|
251
254
|
declare function isMethod(event: H3Event, expected: HTTPMethod | HTTPMethod[], allowHead?: boolean): boolean;
|
|
252
255
|
declare function assertMethod(event: H3Event, expected: HTTPMethod | HTTPMethod[], allowHead?: boolean): void;
|
|
253
|
-
declare function getRequestHeaders(event: H3Event):
|
|
256
|
+
declare function getRequestHeaders(event: H3Event): RequestHeaders;
|
|
254
257
|
declare const getHeaders: typeof getRequestHeaders;
|
|
255
|
-
declare function getRequestHeader(event: H3Event, name: string):
|
|
258
|
+
declare function getRequestHeader(event: H3Event, name: string): RequestHeaders[string];
|
|
256
259
|
declare const getHeader: typeof getRequestHeader;
|
|
257
260
|
|
|
258
261
|
declare function send(event: H3Event, data?: any, type?: string): Promise<void>;
|
|
@@ -285,4 +288,4 @@ interface CreateRouterOptions {
|
|
|
285
288
|
}
|
|
286
289
|
declare function createRouter(opts?: CreateRouterOptions): Router;
|
|
287
290
|
|
|
288
|
-
export { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, DynamicEventHandler, Encoding, EventHandler, EventHandlerResponse, H3Error, H3Event, H3EventContext, H3Headers, H3Response, HTTPMethod, InputLayer, InputStack, Layer, LazyEventHandler, MIMES, Matcher, NodeListener, NodeMiddleware, NodePromisifiedHandler, Router, RouterMethod, RouterUse, Stack, appendHeader, appendHeaders, appendResponseHeader, appendResponseHeaders, assertMethod, callNodeListener, createApp, createAppEventHandler, createError, createEvent, createRouter, defaultContentType, defineEventHandler, defineLazyEventHandler, defineNodeListener, defineNodeMiddleware, deleteCookie, dynamicEventHandler, eventHandler, fromNodeMiddleware, getCookie, getHeader, getHeaders, getMethod, getQuery, getRequestHeader, getRequestHeaders, getResponseHeader, getResponseHeaders, getRouterParam, getRouterParams, handleCacheHeaders, isError, isEvent, isEventHandler, isMethod, isStream, lazyEventHandler, parseCookies, promisifyNodeListener, readBody, readRawBody, send, sendError, sendRedirect, sendStream, setCookie, setHeader, setHeaders, setResponseHeader, setResponseHeaders, toEventHandler, toNodeListener, use, useBase, useBody, useCookie, useCookies, useMethod, useQuery, useRawBody, writeEarlyHints };
|
|
291
|
+
export { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, DynamicEventHandler, Encoding, EventHandler, EventHandlerResponse, H3Error, H3Event, H3EventContext, H3Headers, H3Response, HTTPMethod, InputLayer, InputStack, Layer, LazyEventHandler, MIMES, Matcher, NodeListener, NodeMiddleware, NodePromisifiedHandler, RequestHeaders, Router, RouterMethod, RouterUse, Stack, appendHeader, appendHeaders, appendResponseHeader, appendResponseHeaders, assertMethod, callNodeListener, createApp, createAppEventHandler, createError, createEvent, createRouter, defaultContentType, defineEventHandler, defineLazyEventHandler, defineNodeListener, defineNodeMiddleware, deleteCookie, dynamicEventHandler, eventHandler, fromNodeMiddleware, getCookie, getHeader, getHeaders, getMethod, getQuery, getRequestHeader, getRequestHeaders, getResponseHeader, getResponseHeaders, getRouterParam, getRouterParams, handleCacheHeaders, isError, isEvent, isEventHandler, isMethod, isStream, lazyEventHandler, parseCookies, promisifyNodeListener, readBody, readRawBody, send, sendError, sendRedirect, sendStream, setCookie, setHeader, setHeaders, setResponseHeader, setResponseHeaders, toEventHandler, toNodeListener, use, useBase, useBody, useCookie, useCookies, useMethod, useQuery, useRawBody, writeEarlyHints };
|
package/dist/index.mjs
CHANGED
|
@@ -131,7 +131,12 @@ function assertMethod(event, expected, allowHead) {
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
function getRequestHeaders(event) {
|
|
134
|
-
|
|
134
|
+
const _headers = {};
|
|
135
|
+
for (const key in event.req.headers) {
|
|
136
|
+
const val = event.req.headers[key];
|
|
137
|
+
_headers[key] = Array.isArray(val) ? val.filter(Boolean).join(", ") : val;
|
|
138
|
+
}
|
|
139
|
+
return _headers;
|
|
135
140
|
}
|
|
136
141
|
const getHeaders = getRequestHeaders;
|
|
137
142
|
function getRequestHeader(event, name) {
|
|
@@ -288,7 +293,7 @@ function sendStream(event, data) {
|
|
|
288
293
|
const noop = () => {
|
|
289
294
|
};
|
|
290
295
|
function writeEarlyHints(event, hints, cb = noop) {
|
|
291
|
-
if (!event.res.socket
|
|
296
|
+
if (!event.res.socket) {
|
|
292
297
|
cb();
|
|
293
298
|
return;
|
|
294
299
|
}
|
|
@@ -297,10 +302,6 @@ function writeEarlyHints(event, hints, cb = noop) {
|
|
|
297
302
|
}
|
|
298
303
|
if (hints.link) {
|
|
299
304
|
hints.link = Array.isArray(hints.link) ? hints.link : hints.link.split(",");
|
|
300
|
-
hints.link = hints.link.map((l) => l.trim().replace(/; crossorigin/g, ""));
|
|
301
|
-
}
|
|
302
|
-
if ("writeEarlyHints" in event.res) {
|
|
303
|
-
return event.res.writeEarlyHints(hints, cb);
|
|
304
305
|
}
|
|
305
306
|
const headers = Object.entries(hints).map((e) => [e[0].toLowerCase(), e[1]]);
|
|
306
307
|
if (!headers.length) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "h3",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.5",
|
|
4
4
|
"description": "Tiny JavaScript Server",
|
|
5
5
|
"repository": "unjs/h3",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"cookie-es": "^0.5.0",
|
|
24
|
-
"destr": "^1.
|
|
24
|
+
"destr": "^1.2.0",
|
|
25
25
|
"radix3": "^0.2.1",
|
|
26
26
|
"ufo": "^0.8.6"
|
|
27
27
|
},
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"lint": "eslint --ext ts,mjs,cjs .",
|
|
53
53
|
"play": "jiti ./playground/index.ts",
|
|
54
54
|
"profile": "0x -o -D .profile -P 'autocannon -c 100 -p 10 -d 40 http://localhost:$PORT' ./playground/server.cjs",
|
|
55
|
-
"release": "pnpm test && pnpm
|
|
55
|
+
"release": "pnpm test && pnpm build && changelogen --release && pnpm publish && git push --follow-tags",
|
|
56
56
|
"test": "pnpm lint && vitest run --coverage"
|
|
57
57
|
}
|
|
58
58
|
}
|