This repository was archived by the owner on Nov 19, 2024. It is now read-only.
File tree 2 files changed +11
-5
lines changed
2 files changed +11
-5
lines changed Original file line number Diff line number Diff line change 1
1
import { TRPCError } from '@trpc/server' ;
2
2
import type { NodeIncomingMessage , NodeServerResponse } from 'h3' ;
3
- import { defineEventHandler } from 'h3' ;
3
+ import { defineEventHandler , getQuery } from 'h3' ;
4
+ import { IncomingMessage } from 'http' ;
4
5
5
6
import { OpenApiErrorResponse , OpenApiRouter } from '../types' ;
6
7
import { normalizePath } from '../utils/path' ;
@@ -14,6 +15,10 @@ export type CreateOpenApiNuxtHandlerOptions<TRouter extends OpenApiRouter> = Omi
14
15
'maxBodySize'
15
16
> ;
16
17
18
+ type NuxtRequest = IncomingMessage & {
19
+ query ?: ReturnType < typeof getQuery > ;
20
+ } ;
21
+
17
22
export const createOpenApiNuxtHandler = < TRouter extends OpenApiRouter > (
18
23
opts : CreateOpenApiNuxtHandlerOptions < TRouter > ,
19
24
) => {
@@ -57,6 +62,7 @@ export const createOpenApiNuxtHandler = <TRouter extends OpenApiRouter>(
57
62
return ;
58
63
}
59
64
65
+ ( event . node . req as NuxtRequest ) . query = getQuery ( event ) ;
60
66
event . node . req . url = normalizePath ( pathname ) ;
61
67
await openApiHttpHandler ( event . node . req , event . node . res ) ;
62
68
} ) ;
Original file line number Diff line number Diff line change @@ -36,7 +36,7 @@ const createOpenApiNuxtHandlerCaller = <TRouter extends OpenApiRouter>(
36
36
return ( req : {
37
37
method : RequestMethod ;
38
38
params : Record < string , string > ;
39
- query ?: Record < string , string > ;
39
+ url ?: string ;
40
40
body ?: any ;
41
41
} ) =>
42
42
new Promise < {
@@ -59,7 +59,7 @@ const createOpenApiNuxtHandlerCaller = <TRouter extends OpenApiRouter>(
59
59
const mockReq = httpMocks . createRequest ( {
60
60
body : req . body ,
61
61
method : req . method ,
62
- query : req . query ,
62
+ url : req . url ,
63
63
} ) ;
64
64
const mockRes = httpMocks . createResponse ( {
65
65
req : mockReq ,
@@ -115,7 +115,7 @@ describe('nuxt adapter', () => {
115
115
const res = await openApiNuxtHandlerCaller ( {
116
116
method : 'GET' ,
117
117
params : { trpc : 'say-hello' } ,
118
- query : { name : ' James' } ,
118
+ url : '/api/say-hello?name= James',
119
119
} ) ;
120
120
121
121
expect ( res . statusCode ) . toBe ( 200 ) ;
@@ -145,7 +145,7 @@ describe('nuxt adapter', () => {
145
145
const res = await openApiNuxtHandlerCaller ( {
146
146
method : 'GET' ,
147
147
params : { trpc : 'say/hello' } ,
148
- query : { name : ' James' } ,
148
+ url : '/api/say/hello?name= James',
149
149
} ) ;
150
150
151
151
expect ( res . statusCode ) . toBe ( 200 ) ;
You can’t perform that action at this time.
0 commit comments