h3 0.7.13 → 0.7.14

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
@@ -112,6 +112,8 @@ app.use((req, res, next) => { req.setHeader('X-Foo', 'bar'); next() })
112
112
 
113
113
  ## Utilities
114
114
 
115
+ ### Built-in
116
+
115
117
  Instead of adding helpers to `req` and `res`, h3 exposes them as composable utilities.
116
118
 
117
119
  - `useRawBody(req, encoding?)`
@@ -121,9 +123,15 @@ Instead of adding helpers to `req` and `res`, h3 exposes them as composable util
121
123
  - `setCookie(res, name, value, opts?)`
122
124
  - `deleteCookie(res, name, opts?)`
123
125
  - `useQuery(req)`
126
+ - `getRouterParams(event)`
124
127
  - `send(res, data, type?)`
125
128
  - `sendRedirect(res, location, code=302)`
126
- - `appendHeader(res, name, value)`
129
+ - `getRequestHeaders(event, headers)` (alias: `getHeaders`)
130
+ - `getRequestHeader(event, name)` (alias: `getHeader`)
131
+ - `setResponseHeaders(event, headers)` (alias: `setHeaders`)
132
+ - `setResponseHeader(event, name, value)` (alias: `setHeader`)
133
+ - `appendResponseHeaders(event, headers)` (alias: `appendHeaders`)
134
+ - `appendResponseHeader(event, name, value)` (alias: `appendHeader`)
127
135
  - `createError({ statusCode, statusMessage, data? })`
128
136
  - `sendError(res, error, debug?)`
129
137
  - `defineHandle(handle)`
@@ -134,6 +142,13 @@ Instead of adding helpers to `req` and `res`, h3 exposes them as composable util
134
142
 
135
143
  👉 You can learn more about usage in [JSDocs Documentation](https://www.jsdocs.io/package/h3#package-functions).
136
144
 
145
+ ### Add-ons
146
+
147
+ More composable utilities can be found in community packages.
148
+
149
+ - `validateBody(event, schema)` from [h3-typebox](https://github.com/kevinmarrec/h3-typebox)
150
+ - `validateQuery(event, schema)` from [h3-typebox](https://github.com/kevinmarrec/h3-typebox)
151
+
137
152
  ## How it works?
138
153
 
139
154
  Using `createApp`, it returns a standard `(req, res)` handler function and internally an array called middleware stack. using`use()` method we can add an item to this internal stack.
package/dist/index.cjs CHANGED
@@ -11,14 +11,23 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
 
12
12
  const destr__default = /*#__PURE__*/_interopDefaultLegacy(destr);
13
13
 
14
- function useQuery(event) {
14
+ function getQuery(event) {
15
15
  return ufo.getQuery(event.req.url || "");
16
16
  }
17
- function useMethod(event, defaultMethod = "GET") {
17
+ const useQuery = getQuery;
18
+ function getRouterParams(event) {
19
+ return event.context.params || {};
20
+ }
21
+ function getRouterParam(event, name) {
22
+ const params = getRouterParams(event);
23
+ return params[name];
24
+ }
25
+ function getMethod(event, defaultMethod = "GET") {
18
26
  return (event.req.method || defaultMethod).toUpperCase();
19
27
  }
28
+ const useMethod = getMethod;
20
29
  function isMethod(event, expected, allowHead) {
21
- const method = useMethod(event);
30
+ const method = getMethod(event);
22
31
  if (allowHead && method === "HEAD") {
23
32
  return true;
24
33
  }
@@ -39,11 +48,21 @@ function assertMethod(event, expected, allowHead) {
39
48
  });
40
49
  }
41
50
  }
51
+ function getRequestHeaders(event) {
52
+ return event.req.headers;
53
+ }
54
+ const getHeaders = getRequestHeaders;
55
+ function getRequestHeader(event, name) {
56
+ const headers = getRequestHeaders(event);
57
+ const value = headers[name.toLowerCase()];
58
+ return value;
59
+ }
60
+ const getHeader = getRequestHeader;
42
61
 
43
62
  const RawBodySymbol = Symbol("h3RawBody");
44
63
  const ParsedBodySymbol = Symbol("h3RawBody");
45
64
  const PayloadMethods = ["PATCH", "POST", "PUT", "DELETE"];
46
- function useRawBody(event, encoding = "utf-8") {
65
+ function readRawBody(event, encoding = "utf-8") {
47
66
  assertMethod(event, PayloadMethods);
48
67
  if (RawBodySymbol in event.req) {
49
68
  const promise2 = Promise.resolve(event.req[RawBodySymbol]);
@@ -64,11 +83,12 @@ function useRawBody(event, encoding = "utf-8") {
64
83
  });
65
84
  return encoding ? promise.then((buff) => buff.toString(encoding)) : promise;
66
85
  }
67
- async function useBody(event) {
86
+ const useRawBody = readRawBody;
87
+ async function readBody(event) {
68
88
  if (ParsedBodySymbol in event.req) {
69
89
  return event.req[ParsedBodySymbol];
70
90
  }
71
- const body = await useRawBody(event);
91
+ const body = await readRawBody(event);
72
92
  if (event.req.headers["content-type"] === "application/x-www-form-urlencoded") {
73
93
  const parsedForm = Object.fromEntries(new URLSearchParams(body));
74
94
  return parsedForm;
@@ -77,6 +97,7 @@ async function useBody(event) {
77
97
  event.req[ParsedBodySymbol] = json;
78
98
  return json;
79
99
  }
100
+ const useBody = readBody;
80
101
 
81
102
  function handleCacheHeaders(event, opts) {
82
103
  const cacheControls = ["public"].concat(opts.cacheControls || []);
@@ -142,7 +163,25 @@ function sendRedirect(event, location, code = 302) {
142
163
  </html>`;
143
164
  return send(event, html, MIMES.html);
144
165
  }
145
- function appendHeader(event, name, value) {
166
+ function getResponseHeaders(event) {
167
+ return event.res.getHeaders();
168
+ }
169
+ function getResponseHeader(event, name) {
170
+ return event.res.getHeader(name);
171
+ }
172
+ function setResponseHeaders(event, headers) {
173
+ Object.entries(headers).forEach(([name, value]) => event.res.setHeader(name, value));
174
+ }
175
+ const setHeaders = setResponseHeaders;
176
+ function setResponseHeader(event, name, value) {
177
+ event.res.setHeader(name, value);
178
+ }
179
+ const setHeader = setResponseHeader;
180
+ function appendResponseHeaders(event, headers) {
181
+ Object.entries(headers).forEach(([name, value]) => appendResponseHeader(event, name, value));
182
+ }
183
+ const appendHeaders = appendResponseHeaders;
184
+ function appendResponseHeader(event, name, value) {
146
185
  let current = event.res.getHeader(name);
147
186
  if (!current) {
148
187
  event.res.setHeader(name, value);
@@ -153,6 +192,7 @@ function appendHeader(event, name, value) {
153
192
  }
154
193
  event.res.setHeader(name, current.concat(value));
155
194
  }
195
+ const appendHeader = appendResponseHeader;
156
196
  function isStream(data) {
157
197
  return data && typeof data === "object" && typeof data.pipe === "function" && typeof data.on === "function";
158
198
  }
@@ -164,12 +204,14 @@ function sendStream(event, data) {
164
204
  });
165
205
  }
166
206
 
167
- function useCookies(event) {
207
+ function parseCookies(event) {
168
208
  return cookieEs.parse(event.req.headers.cookie || "");
169
209
  }
170
- function useCookie(event, name) {
171
- return useCookies(event)[name];
210
+ const useCookies = parseCookies;
211
+ function getCookie(event, name) {
212
+ return parseCookies(event)[name];
172
213
  }
214
+ const useCookie = getCookie;
173
215
  function setCookie(event, name, value, serializeOptions) {
174
216
  const cookieStr = cookieEs.serialize(name, value, {
175
217
  path: "/",
@@ -543,6 +585,9 @@ function createRouter() {
543
585
  exports.H3Error = H3Error;
544
586
  exports.MIMES = MIMES;
545
587
  exports.appendHeader = appendHeader;
588
+ exports.appendHeaders = appendHeaders;
589
+ exports.appendResponseHeader = appendResponseHeader;
590
+ exports.appendResponseHeaders = appendResponseHeaders;
546
591
  exports.assertMethod = assertMethod;
547
592
  exports.callHandler = callHandler;
548
593
  exports.createApp = createApp;
@@ -560,6 +605,17 @@ exports.defineMiddleware = defineMiddleware;
560
605
  exports.deleteCookie = deleteCookie;
561
606
  exports.dynamicEventHandler = dynamicEventHandler;
562
607
  exports.eventHandler = eventHandler;
608
+ exports.getCookie = getCookie;
609
+ exports.getHeader = getHeader;
610
+ exports.getHeaders = getHeaders;
611
+ exports.getMethod = getMethod;
612
+ exports.getQuery = getQuery;
613
+ exports.getRequestHeader = getRequestHeader;
614
+ exports.getRequestHeaders = getRequestHeaders;
615
+ exports.getResponseHeader = getResponseHeader;
616
+ exports.getResponseHeaders = getResponseHeaders;
617
+ exports.getRouterParam = getRouterParam;
618
+ exports.getRouterParams = getRouterParams;
563
619
  exports.handleCacheHeaders = handleCacheHeaders;
564
620
  exports.isError = isError;
565
621
  exports.isEvent = isEvent;
@@ -568,13 +624,20 @@ exports.isMethod = isMethod;
568
624
  exports.isStream = isStream;
569
625
  exports.lazyEventHandler = lazyEventHandler;
570
626
  exports.lazyHandle = lazyHandle;
627
+ exports.parseCookies = parseCookies;
571
628
  exports.promisifyHandle = promisifyHandle;
572
629
  exports.promisifyHandler = promisifyHandler;
630
+ exports.readBody = readBody;
631
+ exports.readRawBody = readRawBody;
573
632
  exports.send = send;
574
633
  exports.sendError = sendError;
575
634
  exports.sendRedirect = sendRedirect;
576
635
  exports.sendStream = sendStream;
577
636
  exports.setCookie = setCookie;
637
+ exports.setHeader = setHeader;
638
+ exports.setHeaders = setHeaders;
639
+ exports.setResponseHeader = setResponseHeader;
640
+ exports.setResponseHeaders = setResponseHeaders;
578
641
  exports.toEventHandler = toEventHandler;
579
642
  exports.use = use;
580
643
  exports.useBase = useBase;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import http from 'http';
1
+ import http, { OutgoingMessage } from 'http';
2
2
  import { CookieSerializeOptions } from 'cookie-es';
3
3
  import * as ufo from 'ufo';
4
4
 
@@ -152,7 +152,9 @@ declare function useBase(base: string, handler: Handler): Handler;
152
152
  *
153
153
  * @return {String|Buffer} Encoded raw string or raw Buffer of the body
154
154
  */
155
- declare function useRawBody(event: CompatibilityEvent, encoding?: Encoding): Encoding extends false ? Buffer : Promise<string | Buffer>;
155
+ declare function readRawBody(event: CompatibilityEvent, encoding?: Encoding): Encoding extends false ? Buffer : Promise<string | Buffer>;
156
+ /** @deprecated Use `h3.readRawBody` */
157
+ declare const useRawBody: typeof readRawBody;
156
158
  /**
157
159
  * Reads request body and try to safely parse using [destr](https://github.com/unjs/destr)
158
160
  * @param event {CompatibilityEvent} H3 event or req passed by h3 handler
@@ -164,7 +166,9 @@ declare function useRawBody(event: CompatibilityEvent, encoding?: Encoding): Enc
164
166
  * const body = await useBody(req)
165
167
  * ```
166
168
  */
167
- declare function useBody<T = any>(event: CompatibilityEvent): Promise<T>;
169
+ declare function readBody<T = any>(event: CompatibilityEvent): Promise<T>;
170
+ /** @deprecated Use `h3.readBody` */
171
+ declare const useBody: typeof readBody;
168
172
 
169
173
  interface CacheConditions {
170
174
  modifiedTime?: string | Date;
@@ -189,10 +193,12 @@ declare const MIMES: {
189
193
  * @param event {CompatibilityEvent} H3 event or req passed by h3 handler
190
194
  * @returns Object of cookie name-value pairs
191
195
  * ```ts
192
- * const cookies = useCookies(req)
196
+ * const cookies = parseCookies(event)
193
197
  * ```
194
198
  */
195
- declare function useCookies(event: CompatibilityEvent): Record<string, string>;
199
+ declare function parseCookies(event: CompatibilityEvent): Record<string, string>;
200
+ /** @deprecated Use `h3.parseCookies` */
201
+ declare const useCookies: typeof parseCookies;
196
202
  /**
197
203
  * Get a cookie value by name.
198
204
  * @param event {CompatibilityEvent} H3 event or req passed by h3 handler
@@ -202,7 +208,9 @@ declare function useCookies(event: CompatibilityEvent): Record<string, string>;
202
208
  * const authorization = useCookie(request, 'Authorization')
203
209
  * ```
204
210
  */
205
- declare function useCookie(event: CompatibilityEvent, name: string): string | undefined;
211
+ declare function getCookie(event: CompatibilityEvent, name: string): string | undefined;
212
+ /** @deprecated Use `h3.getCookie` */
213
+ declare const useCookie: typeof getCookie;
206
214
  /**
207
215
  * Set a cookie value by name.
208
216
  * @param event {CompatibilityEvent} H3 event or res passed by h3 handler
@@ -225,15 +233,34 @@ declare function setCookie(event: CompatibilityEvent, name: string, value: strin
225
233
  */
226
234
  declare function deleteCookie(event: CompatibilityEvent, name: string, serializeOptions?: CookieSerializeOptions): void;
227
235
 
228
- declare function useQuery(event: CompatibilityEvent): ufo.QueryObject;
229
- declare function useMethod(event: CompatibilityEvent, defaultMethod?: HTTPMethod): HTTPMethod;
236
+ declare function getQuery(event: CompatibilityEvent): ufo.QueryObject;
237
+ /** @deprecated Use `h3.getQuery` */
238
+ declare const useQuery: typeof getQuery;
239
+ declare function getRouterParams(event: CompatibilityEvent): CompatibilityEvent['context'];
240
+ declare function getRouterParam(event: CompatibilityEvent, name: string): CompatibilityEvent['context'][string];
241
+ declare function getMethod(event: CompatibilityEvent, defaultMethod?: HTTPMethod): HTTPMethod;
242
+ /** @deprecated Use `h3.getMethod` */
243
+ declare const useMethod: typeof getMethod;
230
244
  declare function isMethod(event: CompatibilityEvent, expected: HTTPMethod | HTTPMethod[], allowHead?: boolean): boolean;
231
245
  declare function assertMethod(event: CompatibilityEvent, expected: HTTPMethod | HTTPMethod[], allowHead?: boolean): void;
246
+ declare function getRequestHeaders(event: CompatibilityEvent): CompatibilityEvent['req']['headers'];
247
+ declare const getHeaders: typeof getRequestHeaders;
248
+ declare function getRequestHeader(event: CompatibilityEvent, name: string): CompatibilityEvent['req']['headers'][string];
249
+ declare const getHeader: typeof getRequestHeader;
232
250
 
233
251
  declare function send(event: CompatibilityEvent, data?: any, type?: string): Promise<void>;
234
252
  declare function defaultContentType(event: CompatibilityEvent, type?: string): void;
235
253
  declare function sendRedirect(event: CompatibilityEvent, location: string, code?: number): Promise<void>;
236
- declare function appendHeader(event: CompatibilityEvent, name: string, value: string): void;
254
+ declare function getResponseHeaders(event: CompatibilityEvent): ReturnType<CompatibilityEvent['res']['getHeaders']>;
255
+ declare function getResponseHeader(event: CompatibilityEvent, name: string): ReturnType<CompatibilityEvent['res']['getHeader']>;
256
+ declare function setResponseHeaders(event: CompatibilityEvent, headers: Record<string, Parameters<OutgoingMessage['setHeader']>[1]>): void;
257
+ declare const setHeaders: typeof setResponseHeaders;
258
+ declare function setResponseHeader(event: CompatibilityEvent, name: string, value: Parameters<OutgoingMessage['setHeader']>[1]): void;
259
+ declare const setHeader: typeof setResponseHeader;
260
+ declare function appendResponseHeaders(event: CompatibilityEvent, headers: Record<string, string>): void;
261
+ declare const appendHeaders: typeof appendResponseHeaders;
262
+ declare function appendResponseHeader(event: CompatibilityEvent, name: string, value: string): void;
263
+ declare const appendHeader: typeof appendResponseHeader;
237
264
  declare function isStream(data: any): any;
238
265
  declare function sendStream(event: CompatibilityEvent, data: any): Promise<void>;
239
266
 
@@ -247,4 +274,4 @@ interface Router extends AddRouteShortcuts {
247
274
  }
248
275
  declare function createRouter(): Router;
249
276
 
250
- export { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CompatibilityEvent, CompatibilityEventHandler, DynamicEventHandler, Encoding, EventHandler, H3Error, H3Event, H3EventContext, H3Response, HTTPMethod, Handler, IncomingMessage, InputLayer, InputStack, Layer, LazyEventHandler, LazyHandler, MIMES, Matcher, Middleware, NodeHandler, PromisifiedHandler, Router, RouterMethod, RouterUse, ServerResponse, Stack, appendHeader, assertMethod, callHandler, createApp, createAppEventHandler, createError, createEvent, createRouter, defaultContentType, defineEventHandler, defineHandle, defineHandler, defineLazyEventHandler, defineLazyHandler, defineMiddleware, deleteCookie, dynamicEventHandler, eventHandler, handleCacheHeaders, isError, isEvent, isEventHandler, isMethod, isStream, lazyEventHandler, lazyHandle, promisifyHandle, promisifyHandler, send, sendError, sendRedirect, sendStream, setCookie, toEventHandler, use, useBase, useBody, useCookie, useCookies, useMethod, useQuery, useRawBody };
277
+ export { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CompatibilityEvent, CompatibilityEventHandler, DynamicEventHandler, Encoding, EventHandler, H3Error, H3Event, H3EventContext, H3Response, HTTPMethod, Handler, IncomingMessage, InputLayer, InputStack, Layer, LazyEventHandler, LazyHandler, MIMES, Matcher, Middleware, NodeHandler, PromisifiedHandler, Router, RouterMethod, RouterUse, ServerResponse, Stack, appendHeader, appendHeaders, appendResponseHeader, appendResponseHeaders, assertMethod, callHandler, createApp, createAppEventHandler, createError, createEvent, createRouter, defaultContentType, defineEventHandler, defineHandle, defineHandler, defineLazyEventHandler, defineLazyHandler, defineMiddleware, deleteCookie, dynamicEventHandler, eventHandler, getCookie, getHeader, getHeaders, getMethod, getQuery, getRequestHeader, getRequestHeaders, getResponseHeader, getResponseHeaders, getRouterParam, getRouterParams, handleCacheHeaders, isError, isEvent, isEventHandler, isMethod, isStream, lazyEventHandler, lazyHandle, parseCookies, promisifyHandle, promisifyHandler, readBody, readRawBody, send, sendError, sendRedirect, sendStream, setCookie, setHeader, setHeaders, setResponseHeader, setResponseHeaders, toEventHandler, use, useBase, useBody, useCookie, useCookies, useMethod, useQuery, useRawBody };
package/dist/index.mjs CHANGED
@@ -1,16 +1,25 @@
1
- import { getQuery, withoutTrailingSlash, withoutBase } from 'ufo';
1
+ import { getQuery as getQuery$1, withoutTrailingSlash, withoutBase } from 'ufo';
2
2
  import { createRouter as createRouter$1 } from 'radix3';
3
3
  import destr from 'destr';
4
4
  import { parse, serialize } from 'cookie-es';
5
5
 
6
- function useQuery(event) {
7
- return getQuery(event.req.url || "");
6
+ function getQuery(event) {
7
+ return getQuery$1(event.req.url || "");
8
8
  }
9
- function useMethod(event, defaultMethod = "GET") {
9
+ const useQuery = getQuery;
10
+ function getRouterParams(event) {
11
+ return event.context.params || {};
12
+ }
13
+ function getRouterParam(event, name) {
14
+ const params = getRouterParams(event);
15
+ return params[name];
16
+ }
17
+ function getMethod(event, defaultMethod = "GET") {
10
18
  return (event.req.method || defaultMethod).toUpperCase();
11
19
  }
20
+ const useMethod = getMethod;
12
21
  function isMethod(event, expected, allowHead) {
13
- const method = useMethod(event);
22
+ const method = getMethod(event);
14
23
  if (allowHead && method === "HEAD") {
15
24
  return true;
16
25
  }
@@ -31,11 +40,21 @@ function assertMethod(event, expected, allowHead) {
31
40
  });
32
41
  }
33
42
  }
43
+ function getRequestHeaders(event) {
44
+ return event.req.headers;
45
+ }
46
+ const getHeaders = getRequestHeaders;
47
+ function getRequestHeader(event, name) {
48
+ const headers = getRequestHeaders(event);
49
+ const value = headers[name.toLowerCase()];
50
+ return value;
51
+ }
52
+ const getHeader = getRequestHeader;
34
53
 
35
54
  const RawBodySymbol = Symbol("h3RawBody");
36
55
  const ParsedBodySymbol = Symbol("h3RawBody");
37
56
  const PayloadMethods = ["PATCH", "POST", "PUT", "DELETE"];
38
- function useRawBody(event, encoding = "utf-8") {
57
+ function readRawBody(event, encoding = "utf-8") {
39
58
  assertMethod(event, PayloadMethods);
40
59
  if (RawBodySymbol in event.req) {
41
60
  const promise2 = Promise.resolve(event.req[RawBodySymbol]);
@@ -56,11 +75,12 @@ function useRawBody(event, encoding = "utf-8") {
56
75
  });
57
76
  return encoding ? promise.then((buff) => buff.toString(encoding)) : promise;
58
77
  }
59
- async function useBody(event) {
78
+ const useRawBody = readRawBody;
79
+ async function readBody(event) {
60
80
  if (ParsedBodySymbol in event.req) {
61
81
  return event.req[ParsedBodySymbol];
62
82
  }
63
- const body = await useRawBody(event);
83
+ const body = await readRawBody(event);
64
84
  if (event.req.headers["content-type"] === "application/x-www-form-urlencoded") {
65
85
  const parsedForm = Object.fromEntries(new URLSearchParams(body));
66
86
  return parsedForm;
@@ -69,6 +89,7 @@ async function useBody(event) {
69
89
  event.req[ParsedBodySymbol] = json;
70
90
  return json;
71
91
  }
92
+ const useBody = readBody;
72
93
 
73
94
  function handleCacheHeaders(event, opts) {
74
95
  const cacheControls = ["public"].concat(opts.cacheControls || []);
@@ -134,7 +155,25 @@ function sendRedirect(event, location, code = 302) {
134
155
  </html>`;
135
156
  return send(event, html, MIMES.html);
136
157
  }
137
- function appendHeader(event, name, value) {
158
+ function getResponseHeaders(event) {
159
+ return event.res.getHeaders();
160
+ }
161
+ function getResponseHeader(event, name) {
162
+ return event.res.getHeader(name);
163
+ }
164
+ function setResponseHeaders(event, headers) {
165
+ Object.entries(headers).forEach(([name, value]) => event.res.setHeader(name, value));
166
+ }
167
+ const setHeaders = setResponseHeaders;
168
+ function setResponseHeader(event, name, value) {
169
+ event.res.setHeader(name, value);
170
+ }
171
+ const setHeader = setResponseHeader;
172
+ function appendResponseHeaders(event, headers) {
173
+ Object.entries(headers).forEach(([name, value]) => appendResponseHeader(event, name, value));
174
+ }
175
+ const appendHeaders = appendResponseHeaders;
176
+ function appendResponseHeader(event, name, value) {
138
177
  let current = event.res.getHeader(name);
139
178
  if (!current) {
140
179
  event.res.setHeader(name, value);
@@ -145,6 +184,7 @@ function appendHeader(event, name, value) {
145
184
  }
146
185
  event.res.setHeader(name, current.concat(value));
147
186
  }
187
+ const appendHeader = appendResponseHeader;
148
188
  function isStream(data) {
149
189
  return data && typeof data === "object" && typeof data.pipe === "function" && typeof data.on === "function";
150
190
  }
@@ -156,12 +196,14 @@ function sendStream(event, data) {
156
196
  });
157
197
  }
158
198
 
159
- function useCookies(event) {
199
+ function parseCookies(event) {
160
200
  return parse(event.req.headers.cookie || "");
161
201
  }
162
- function useCookie(event, name) {
163
- return useCookies(event)[name];
202
+ const useCookies = parseCookies;
203
+ function getCookie(event, name) {
204
+ return parseCookies(event)[name];
164
205
  }
206
+ const useCookie = getCookie;
165
207
  function setCookie(event, name, value, serializeOptions) {
166
208
  const cookieStr = serialize(name, value, {
167
209
  path: "/",
@@ -532,4 +574,4 @@ function createRouter() {
532
574
  return router;
533
575
  }
534
576
 
535
- export { H3Error, MIMES, appendHeader, assertMethod, callHandler, createApp, createAppEventHandler, createError, createEvent, createRouter, defaultContentType, defineEventHandler, defineHandle, defineHandler, defineLazyEventHandler, defineLazyHandler, defineMiddleware, deleteCookie, dynamicEventHandler, eventHandler, handleCacheHeaders, isError, isEvent, isEventHandler, isMethod, isStream, lazyEventHandler, lazyHandle, promisifyHandle, promisifyHandler, send, sendError, sendRedirect, sendStream, setCookie, toEventHandler, use, useBase, useBody, useCookie, useCookies, useMethod, useQuery, useRawBody };
577
+ export { H3Error, MIMES, appendHeader, appendHeaders, appendResponseHeader, appendResponseHeaders, assertMethod, callHandler, createApp, createAppEventHandler, createError, createEvent, createRouter, defaultContentType, defineEventHandler, defineHandle, defineHandler, defineLazyEventHandler, defineLazyHandler, defineMiddleware, deleteCookie, dynamicEventHandler, eventHandler, getCookie, getHeader, getHeaders, getMethod, getQuery, getRequestHeader, getRequestHeaders, getResponseHeader, getResponseHeaders, getRouterParam, getRouterParams, handleCacheHeaders, isError, isEvent, isEventHandler, isMethod, isStream, lazyEventHandler, lazyHandle, parseCookies, promisifyHandle, promisifyHandler, readBody, readRawBody, send, sendError, sendRedirect, sendStream, setCookie, setHeader, setHeaders, setResponseHeader, setResponseHeaders, toEventHandler, 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.7.13",
3
+ "version": "0.7.14",
4
4
  "description": "Tiny JavaScript Server",
5
5
  "repository": "unjs/h3",
6
6
  "license": "MIT",
@@ -45,7 +45,7 @@
45
45
  "unbuild": "latest",
46
46
  "vitest": "latest"
47
47
  },
48
- "packageManager": "pnpm@7.8.0",
48
+ "packageManager": "pnpm@7.9.0",
49
49
  "scripts": {
50
50
  "build": "unbuild",
51
51
  "dev": "vitest",