11import { Request } from 'express' ;
22import * as url from 'url' ;
33import { APIGatewayProxyEventV2 } from 'aws-lambda/trigger/api-gateway-proxy' ;
4- import QueryString from 'qs' ;
54
65export function httpRequestToEvent ( request : Request ) : APIGatewayProxyEventV2 {
76 const headers = objectMap ( request . headers , ( value ) : string | undefined => {
@@ -15,32 +14,29 @@ export function httpRequestToEvent(request: Request): APIGatewayProxyEventV2 {
1514 } ) ;
1615
1716 const queryStringParameters : Record < string , string > = { } ;
18- objectMap (
19- request . query ,
20- ( value : string | QueryString . ParsedQs | string [ ] | QueryString . ParsedQs [ ] | undefined , key : string ) => {
21- if ( Array . isArray ( value ) ) {
22- queryStringParameters [ `${ key } []` ] = value . join ( ',' ) ;
23- } else if ( typeof value === 'object' && value !== null ) {
24- Object . entries ( value ) . forEach ( ( [ k , v ] ) => {
25- if ( Array . isArray ( v ) ) {
26- queryStringParameters [ `${ key } [${ k } ][]` ] = v . join ( ',' ) ;
27- } else {
28- queryStringParameters [ `${ key } [${ k } ]` ] = ( v ?? '' ) . toString ( ) ;
29- }
30- } ) ;
31- } else {
32- queryStringParameters [ key ] = value ?? '' ;
33- }
17+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
18+ objectMap ( request . query , ( value : any , key : string ) => {
19+ if ( Array . isArray ( value ) ) {
20+ queryStringParameters [ `${ key } []` ] = value . join ( ',' ) ;
21+ } else if ( typeof value === 'object' && value !== null ) {
22+ Object . entries ( value ) . forEach ( ( [ k , v ] ) => {
23+ if ( Array . isArray ( v ) ) {
24+ queryStringParameters [ `${ key } [${ k } ][]` ] = v . join ( ',' ) ;
25+ } else {
26+ queryStringParameters [ `${ key } [${ k } ]` ] = ( v ?? '' ) . toString ( ) ;
27+ }
28+ } ) ;
29+ } else {
30+ queryStringParameters [ key ] = value ?? '' ;
3431 }
35- ) ;
32+ } ) ;
3633
3734 const bodyString = Buffer . isBuffer ( request . body ) ? request . body . toString ( 'utf8' ) : '' ;
38- const shouldSendBase64 = request . method === 'GET'
39- ? false
40- : (
41- bodyString . includes ( 'Content-Disposition: form-data' ) ||
42- ( headers [ 'content-disposition' ] ?. startsWith ( 'inline;' ) === true )
43- ) ;
35+ const shouldSendBase64 =
36+ request . method === 'GET'
37+ ? false
38+ : bodyString . includes ( 'Content-Disposition: form-data' ) ||
39+ headers [ 'content-disposition' ] ?. startsWith ( 'inline;' ) === true ;
4440
4541 const cookies = request . headers . cookie ? request . headers . cookie . split ( '; ' ) : [ ] ;
4642
0 commit comments