@@ -28,13 +28,20 @@ import { apps } from '../apps';
28
28
import { HttpsFunction , optsToTrigger , Runnable } from '../cloud-functions' ;
29
29
import { DeploymentOptions } from '../function-builder' ;
30
30
31
+ /**
32
+ *
33
+ *
34
+ */
35
+ export interface Request extends express . Request {
36
+ rawBody : Buffer ;
37
+ }
31
38
/**
32
39
* Handle HTTP requests.
33
40
* @param handler A function that takes a request and response object,
34
41
* same signature as an Express app.
35
42
*/
36
43
export function onRequest (
37
- handler : ( req : express . Request , resp : express . Response ) => void
44
+ handler : ( req : Request , resp : express . Response ) => void
38
45
) {
39
46
return _onRequestWithOpts ( handler , { } ) ;
40
47
}
@@ -51,11 +58,11 @@ export function onCall(
51
58
52
59
/** @internal */
53
60
export function _onRequestWithOpts (
54
- handler : ( req : express . Request , resp : express . Response ) => void ,
61
+ handler : ( req : Request , resp : express . Response ) => void ,
55
62
opts : DeploymentOptions
56
63
) : HttpsFunction {
57
64
// lets us add __trigger without altering handler:
58
- let cloudFunction : any = ( req : express . Request , res : express . Response ) => {
65
+ let cloudFunction : any = ( req : Request , res : express . Response ) => {
59
66
handler ( req , res ) ;
60
67
} ;
61
68
cloudFunction . __trigger = _ . assign ( optsToTrigger ( opts ) , { httpsTrigger : { } } ) ;
@@ -267,11 +274,11 @@ export interface CallableContext {
267
274
/**
268
275
* The raw request handled by the callable.
269
276
*/
270
- rawRequest : express . Request ;
277
+ rawRequest : Request ;
271
278
}
272
279
273
280
// The allowed interface for an http request for a callable function.
274
- interface HttpRequest extends express . Request {
281
+ interface HttpRequest extends Request {
275
282
body : {
276
283
data : any ;
277
284
} ;
@@ -284,7 +291,7 @@ interface HttpResponseBody {
284
291
}
285
292
286
293
// Returns true if req is a properly formatted callable request.
287
- function isValidRequest ( req : express . Request ) : req is HttpRequest {
294
+ function isValidRequest ( req : Request ) : req is HttpRequest {
288
295
// The body must not be empty.
289
296
if ( ! req . body ) {
290
297
console . warn ( 'Request is missing body.' ) ;
@@ -416,7 +423,7 @@ export function _onCallWithOpts(
416
423
handler : ( data : any , context : CallableContext ) => any | Promise < any > ,
417
424
opts : DeploymentOptions
418
425
) : HttpsFunction & Runnable < any > {
419
- const func = async ( req : express . Request , res : express . Response ) => {
426
+ const func = async ( req : Request , res : express . Response ) => {
420
427
try {
421
428
if ( ! isValidRequest ( req ) ) {
422
429
console . error ( 'Invalid request' , req ) ;
@@ -477,7 +484,7 @@ export function _onCallWithOpts(
477
484
} ;
478
485
479
486
// Wrap the function with a cors handler.
480
- const corsFunc : any = ( req : express . Request , res : express . Response ) => {
487
+ const corsFunc : any = ( req : Request , res : express . Response ) => {
481
488
return corsHandler ( req , res , ( ) => func ( req , res ) ) ;
482
489
} ;
483
490
0 commit comments