@@ -3,24 +3,24 @@ import * as url from 'url';
3
3
import { InProcessRequestOptions } from 'in-process-request' ;
4
4
import { APIGatewayEvent , StringMap , LambdaContext } from './types' ;
5
5
6
- const getValuesFromStringAndMultiString = ( stringMap : StringMap < string > | null | undefined , multiStringMap : StringMap < string [ ] > | null | undefined ) : StringMap < string > => {
6
+ const getValuesFromStringAndMultiString = ( stringMap : StringMap < string > | null | undefined , multiStringMap : StringMap < string [ ] > | null | undefined , lcKeys = true ) : StringMap < string > => {
7
7
const retVal : StringMap < string > = { } ;
8
8
const singleMap = stringMap || { } ;
9
9
Object . keys ( singleMap ) . forEach ( k => {
10
- retVal [ k . toLowerCase ( ) ] = singleMap [ k ] ;
10
+ retVal [ lcKeys ? k . toLowerCase ( ) : k ] = singleMap [ k ] ;
11
11
} ) ;
12
12
const multiMap = multiStringMap || { } ;
13
13
Object . keys ( multiMap ) . forEach ( k => {
14
14
// get the last value
15
- retVal [ k . toLowerCase ( ) ] = multiMap [ k ] [ multiMap [ k ] . length - 1 ] ;
15
+ retVal [ lcKeys ? k . toLowerCase ( ) : k ] = multiMap [ k ] [ multiMap [ k ] . length - 1 ] ;
16
16
} ) ;
17
17
return retVal ;
18
18
}
19
19
20
20
const eventToRequestOptions = ( event : APIGatewayEvent , ctx ?: LambdaContext ) : InProcessRequestOptions => {
21
21
let remoteAddress :string | undefined = undefined ;
22
22
let ssl = false ;
23
- const queryStringParams = getValuesFromStringAndMultiString ( event . queryStringParameters , event . multiValueQueryStringParameters ) ;
23
+ const queryStringParams = getValuesFromStringAndMultiString ( event . queryStringParameters , event . multiValueQueryStringParameters , false ) ;
24
24
const headers = getValuesFromStringAndMultiString ( event . headers , event . multiValueHeaders ) ;
25
25
if ( ctx ) {
26
26
headers [ 'x-aws-lambda-request-id' ] = ctx . awsRequestId ;
0 commit comments