@@ -34,6 +34,11 @@ function unframeRequest(requestBody: Uint8Array): Uint8Array {
3434 return new Uint8Array ( requestBody ) . slice ( 5 ) ;
3535}
3636
37+ export function readGrpcRequest ( request : Request ) : Uint8Array | null {
38+ const requestBody = request . postDataBuffer ( ) ;
39+ return ! requestBody ? null : unframeRequest ( requestBody ) ;
40+ }
41+
3742export function mockGrpcUnary (
3843 page : Page ,
3944 rpc : UnaryMethodDefinitionish ,
@@ -48,16 +53,11 @@ export function mockGrpcUnary(
4853 'ALL gRPC requests should be a POST request'
4954 ) . toBe ( 'POST' ) ;
5055
51- let grpcResponse : GrpcResponse
52-
53- if ( typeof response === 'function' ) {
54- const requestBody = route . request ( ) . postDataBuffer ( ) ;
55- grpcResponse = response ( ! requestBody ? null : unframeRequest ( requestBody ) ) ;
56- } else {
57- grpcResponse = response ;
58- }
56+ const grpcResponse = typeof response === 'function'
57+ ? response ( readGrpcRequest ( route . request ( ) ) )
58+ : response ;
5959
60- const grpcResponseBody = grpcResponseToBuffer ( grpcResponse )
60+ const grpcResponseBody = grpcResponseToBuffer ( grpcResponse ) ;
6161
6262 return route . fulfill ( {
6363 body : grpcResponseBody ,
@@ -76,8 +76,7 @@ export function mockGrpcUnary(
7676 }
7777
7878 if ( requestPredicate ) {
79- const messageBody = req . postDataBuffer ( ) ;
80- const unframed = ! messageBody ? null : unframeRequest ( messageBody ) ;
79+ const unframed = readGrpcRequest ( req ) ;
8180 return requestPredicate ( unframed , req ) ;
8281 }
8382
@@ -86,8 +85,7 @@ export function mockGrpcUnary(
8685
8786 await page . waitForResponse ( ( resp ) => resp . url ( ) . includes ( url ) ) ;
8887
89- const messageBody = request . postDataBuffer ( ) ;
90- const requestMessage = ! messageBody ? null : unframeRequest ( messageBody ) ;
88+ const requestMessage = readGrpcRequest ( request ) ;
9189
9290 return { requestMessage } ;
9391 } ,
0 commit comments