@@ -122,7 +122,18 @@ export function requestHandler<TRegister = unknown>(
122122 handler : RequestHandler < TRegister > ,
123123) {
124124 return ( request : Request , requestOpts : any ) : Promise < Response > | Response => {
125- const h3Event = new H3Event ( request )
125+ let h3Event : H3Event
126+ try {
127+ h3Event = new H3Event ( request )
128+ } catch ( error ) {
129+ if ( error instanceof URIError ) {
130+ return new Response ( null , {
131+ status : 400 ,
132+ statusText : 'Bad Request' ,
133+ } )
134+ }
135+ throw error
136+ }
126137
127138 const response = eventStorage . run ( { h3Event } , ( ) =>
128139 handler ( request , requestOpts ) ,
@@ -284,7 +295,16 @@ export function setResponseStatus(code?: number, text?: string): void {
284295 */
285296export function getCookies ( ) : Record < string , string > {
286297 const event = getH3Event ( )
287- return h3_parseCookies ( event )
298+ const cookies = h3_parseCookies ( event )
299+ const definedCookies : Record < string , string > = Object . create ( null )
300+
301+ for ( const [ name , value ] of Object . entries ( cookies ) ) {
302+ if ( value !== undefined ) {
303+ definedCookies [ name ] = value
304+ }
305+ }
306+
307+ return definedCookies
288308}
289309
290310/**
@@ -296,7 +316,7 @@ export function getCookies(): Record<string, string> {
296316 * ```
297317 */
298318export function getCookie ( name : string ) : string | undefined {
299- return getCookies ( ) [ name ] || undefined
319+ return getCookies ( ) [ name ]
300320}
301321
302322/**
0 commit comments