@@ -28,13 +28,20 @@ import { apps } from '../apps';
2828import { HttpsFunction , optsToTrigger , Runnable } from '../cloud-functions' ;
2929import { DeploymentOptions } from '../function-builder' ;
3030
31+ /**
32+ *
33+ *
34+ */
35+ export interface Request extends express . Request {
36+ rawBody : Buffer ;
37+ }
3138/**
3239 * Handle HTTP requests.
3340 * @param handler A function that takes a request and response object,
3441 * same signature as an Express app.
3542 */
3643export function onRequest (
37- handler : ( req : express . Request , resp : express . Response ) => void
44+ handler : ( req : Request , resp : express . Response ) => void
3845) {
3946 return _onRequestWithOpts ( handler , { } ) ;
4047}
@@ -51,11 +58,11 @@ export function onCall(
5158
5259/** @internal */
5360export function _onRequestWithOpts (
54- handler : ( req : express . Request , resp : express . Response ) => void ,
61+ handler : ( req : Request , resp : express . Response ) => void ,
5562 opts : DeploymentOptions
5663) : HttpsFunction {
5764 // 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 ) => {
5966 handler ( req , res ) ;
6067 } ;
6168 cloudFunction . __trigger = _ . assign ( optsToTrigger ( opts ) , { httpsTrigger : { } } ) ;
@@ -267,11 +274,11 @@ export interface CallableContext {
267274 /**
268275 * The raw request handled by the callable.
269276 */
270- rawRequest : express . Request ;
277+ rawRequest : Request ;
271278}
272279
273280// The allowed interface for an http request for a callable function.
274- interface HttpRequest extends express . Request {
281+ interface HttpRequest extends Request {
275282 body : {
276283 data : any ;
277284 } ;
@@ -284,7 +291,7 @@ interface HttpResponseBody {
284291}
285292
286293// 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 {
288295 // The body must not be empty.
289296 if ( ! req . body ) {
290297 console . warn ( 'Request is missing body.' ) ;
@@ -416,7 +423,7 @@ export function _onCallWithOpts(
416423 handler : ( data : any , context : CallableContext ) => any | Promise < any > ,
417424 opts : DeploymentOptions
418425) : HttpsFunction & Runnable < any > {
419- const func = async ( req : express . Request , res : express . Response ) => {
426+ const func = async ( req : Request , res : express . Response ) => {
420427 try {
421428 if ( ! isValidRequest ( req ) ) {
422429 console . error ( 'Invalid request' , req ) ;
@@ -477,7 +484,7 @@ export function _onCallWithOpts(
477484 } ;
478485
479486 // 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 ) => {
481488 return corsHandler ( req , res , ( ) => func ( req , res ) ) ;
482489 } ;
483490
0 commit comments