h3 0.4.0 → 0.4.1
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 +2 -1
- package/dist/index.cjs +11 -4
- package/dist/index.d.ts +11 -1
- package/dist/index.mjs +9 -3
- package/package.json +2 -3
package/README.md
CHANGED
|
@@ -116,11 +116,12 @@ Instead of adding helpers to `req` and `res`, h3 exposes them as composable util
|
|
|
116
116
|
- `useCookies(req)`
|
|
117
117
|
- `useCookie(req, name)`
|
|
118
118
|
- `setCookie(res, name, value, opts?)`
|
|
119
|
+
- `deleteCookie(res, name, opts?)`
|
|
119
120
|
- `useQuery(req)`
|
|
120
121
|
- `send(res, data, type?)`
|
|
121
122
|
- `sendRedirect(res, location, code=302)`
|
|
122
123
|
- `appendHeader(res, name, value)`
|
|
123
|
-
- `createError({ statusCode, statusMessage, data? }`
|
|
124
|
+
- `createError({ statusCode, statusMessage, data? })`
|
|
124
125
|
- `sendError(res, error, debug?)`
|
|
125
126
|
- `defineHandle(handle)`
|
|
126
127
|
- `defineMiddleware(middlware)`
|
package/dist/index.cjs
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const ufo = require('ufo');
|
|
6
6
|
const radix3 = require('radix3');
|
|
7
7
|
const destr = require('destr');
|
|
8
|
-
const
|
|
8
|
+
const cookieEs = require('cookie-es');
|
|
9
9
|
|
|
10
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
11
11
|
|
|
@@ -161,15 +161,21 @@ function appendHeader(res, name, value) {
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
function useCookies(req) {
|
|
164
|
-
return
|
|
164
|
+
return cookieEs.parse(req.headers.cookie || "");
|
|
165
165
|
}
|
|
166
166
|
function useCookie(req, name) {
|
|
167
167
|
return useCookies(req)[name];
|
|
168
168
|
}
|
|
169
169
|
function setCookie(res, name, value, serializeOptions) {
|
|
170
|
-
const cookieStr =
|
|
170
|
+
const cookieStr = cookieEs.serialize(name, value, serializeOptions);
|
|
171
171
|
appendHeader(res, "Set-Cookie", cookieStr);
|
|
172
172
|
}
|
|
173
|
+
function deleteCookie(res, name, serializeOptions) {
|
|
174
|
+
setCookie(res, name, "", {
|
|
175
|
+
...serializeOptions,
|
|
176
|
+
maxAge: 0
|
|
177
|
+
});
|
|
178
|
+
}
|
|
173
179
|
|
|
174
180
|
class H3Error extends Error {
|
|
175
181
|
constructor() {
|
|
@@ -274,7 +280,7 @@ function createHandle(stack, options) {
|
|
|
274
280
|
const type = typeof val;
|
|
275
281
|
if (type === "string") {
|
|
276
282
|
return send(res, val, MIMES.html);
|
|
277
|
-
} else if (type === "object"
|
|
283
|
+
} else if (type === "object" || type === "boolean" || type === "number") {
|
|
278
284
|
if (val && val.buffer) {
|
|
279
285
|
return send(res, val);
|
|
280
286
|
} else if (val instanceof Error) {
|
|
@@ -353,6 +359,7 @@ exports.createRouter = createRouter;
|
|
|
353
359
|
exports.defaultContentType = defaultContentType;
|
|
354
360
|
exports.defineHandle = defineHandle;
|
|
355
361
|
exports.defineMiddleware = defineMiddleware;
|
|
362
|
+
exports.deleteCookie = deleteCookie;
|
|
356
363
|
exports.isMethod = isMethod;
|
|
357
364
|
exports.lazyHandle = lazyHandle;
|
|
358
365
|
exports.promisifyHandle = promisifyHandle;
|
package/dist/index.d.ts
CHANGED
|
@@ -232,6 +232,16 @@ declare function useCookie(req: IncomingMessage, name: string): string | undefin
|
|
|
232
232
|
* ```
|
|
233
233
|
*/
|
|
234
234
|
declare function setCookie(res: ServerResponse, name: string, value: string, serializeOptions?: CookieSerializeOptions): void;
|
|
235
|
+
/**
|
|
236
|
+
* Set a cookie value by name.
|
|
237
|
+
* @param res {ServerResponse} A ServerResponse object created by [http.Server](https://nodejs.org/api/http.html#http_class_http_server)
|
|
238
|
+
* @param name Name of the cookie to delete
|
|
239
|
+
* @param serializeOptions {CookieSerializeOptions} Cookie options
|
|
240
|
+
* ```ts
|
|
241
|
+
* deleteCookie(res, 'SessionId')
|
|
242
|
+
* ```
|
|
243
|
+
*/
|
|
244
|
+
declare function deleteCookie(res: ServerResponse, name: string, serializeOptions?: CookieSerializeOptions): void;
|
|
235
245
|
|
|
236
246
|
declare type HTTPMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE';
|
|
237
247
|
|
|
@@ -257,4 +267,4 @@ interface Router extends AddRouteShortcuts {
|
|
|
257
267
|
}
|
|
258
268
|
declare function createRouter(): Router;
|
|
259
269
|
|
|
260
|
-
export { AddRouteShortcuts, AddWithMethod, App, AppOptions, AppUse, H3Error, Handle, HandleWithParams, InputLayer, InputStack, Layer, LazyHandle, MIMES, Matcher, Middleware, PHandle, Router, RouterMethod, Stack, appendHeader, assertMethod, callHandle, createApp, createError, createHandle, createRouter, defaultContentType, defineHandle, defineMiddleware, isMethod, lazyHandle, promisifyHandle, send, sendError, sendRedirect, setCookie, use, useBase, useBody, useCookie, useCookies, useMethod, useQuery, useRawBody };
|
|
270
|
+
export { AddRouteShortcuts, AddWithMethod, App, AppOptions, AppUse, H3Error, Handle, HandleWithParams, InputLayer, InputStack, Layer, LazyHandle, MIMES, Matcher, Middleware, PHandle, Router, RouterMethod, Stack, appendHeader, assertMethod, callHandle, createApp, createError, createHandle, createRouter, defaultContentType, defineHandle, defineMiddleware, deleteCookie, isMethod, lazyHandle, promisifyHandle, send, sendError, sendRedirect, setCookie, use, useBase, useBody, useCookie, useCookies, useMethod, useQuery, useRawBody };
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { withoutTrailingSlash, withoutBase, getQuery } from 'ufo';
|
|
2
2
|
import { createRouter as createRouter$1 } from 'radix3';
|
|
3
3
|
import destr from 'destr';
|
|
4
|
-
import { parse, serialize } from 'cookie';
|
|
4
|
+
import { parse, serialize } from 'cookie-es';
|
|
5
5
|
|
|
6
6
|
const defineHandle = (handler) => handler;
|
|
7
7
|
const defineMiddleware = (middleware) => middleware;
|
|
@@ -162,6 +162,12 @@ function setCookie(res, name, value, serializeOptions) {
|
|
|
162
162
|
const cookieStr = serialize(name, value, serializeOptions);
|
|
163
163
|
appendHeader(res, "Set-Cookie", cookieStr);
|
|
164
164
|
}
|
|
165
|
+
function deleteCookie(res, name, serializeOptions) {
|
|
166
|
+
setCookie(res, name, "", {
|
|
167
|
+
...serializeOptions,
|
|
168
|
+
maxAge: 0
|
|
169
|
+
});
|
|
170
|
+
}
|
|
165
171
|
|
|
166
172
|
class H3Error extends Error {
|
|
167
173
|
constructor() {
|
|
@@ -266,7 +272,7 @@ function createHandle(stack, options) {
|
|
|
266
272
|
const type = typeof val;
|
|
267
273
|
if (type === "string") {
|
|
268
274
|
return send(res, val, MIMES.html);
|
|
269
|
-
} else if (type === "object"
|
|
275
|
+
} else if (type === "object" || type === "boolean" || type === "number") {
|
|
270
276
|
if (val && val.buffer) {
|
|
271
277
|
return send(res, val);
|
|
272
278
|
} else if (val instanceof Error) {
|
|
@@ -333,4 +339,4 @@ function createRouter() {
|
|
|
333
339
|
return router;
|
|
334
340
|
}
|
|
335
341
|
|
|
336
|
-
export { H3Error, MIMES, appendHeader, assertMethod, callHandle, createApp, createError, createHandle, createRouter, defaultContentType, defineHandle, defineMiddleware, isMethod, lazyHandle, promisifyHandle, send, sendError, sendRedirect, setCookie, use, useBase, useBody, useCookie, useCookies, useMethod, useQuery, useRawBody };
|
|
342
|
+
export { H3Error, MIMES, appendHeader, assertMethod, callHandle, createApp, createError, createHandle, createRouter, defaultContentType, defineHandle, defineMiddleware, deleteCookie, isMethod, lazyHandle, promisifyHandle, send, sendError, sendRedirect, setCookie, use, useBase, useBody, useCookie, useCookies, useMethod, useQuery, useRawBody };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "h3",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Tiny JavaScript Server",
|
|
5
5
|
"repository": "unjs/h3",
|
|
6
6
|
"license": "MIT",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"test": "vitest run"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"cookie": "^0.
|
|
29
|
+
"cookie-es": "^0.5.0",
|
|
30
30
|
"destr": "^1.1.0",
|
|
31
31
|
"radix3": "^0.1.1",
|
|
32
32
|
"ufo": "^0.7.11"
|
|
@@ -41,7 +41,6 @@
|
|
|
41
41
|
"autocannon": "latest",
|
|
42
42
|
"c8": "latest",
|
|
43
43
|
"connect": "latest",
|
|
44
|
-
"cookie-es": "latest",
|
|
45
44
|
"eslint": "latest",
|
|
46
45
|
"express": "latest",
|
|
47
46
|
"get-port": "^5.0.0",
|