From 1a8a73147a52d886fad931b7c8da9a94bba917da Mon Sep 17 00:00:00 2001 From: John Hardy Date: Wed, 16 Jan 2019 22:49:23 -0800 Subject: [PATCH] - use php built-in query string builder - lower case on header key to prevent duplicate keys of differing case --- bootstrap | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/bootstrap b/bootstrap index 2710746..98addbf 100755 --- a/bootstrap +++ b/bootstrap @@ -112,23 +112,7 @@ while (true) { $uri = $event['path']; if (array_key_exists('multiValueQueryStringParameters', $event) && $event['multiValueQueryStringParameters']) { - $first = TRUE; - foreach ($event['multiValueQueryStringParameters'] as $name => $values) { - foreach ($values as $value) { - if ($first) { - $uri .= "?"; - $first = FALSE; - } else { - $uri .= "&"; - } - - $uri .= $name; - - if ($value != '') { - $uri .= '=' . $value; - } - } - } + $uri .= "?" . http_build_query($event['multiValueQueryStringParameters']); } $ch = curl_init("http://localhost:8000$uri"); @@ -161,7 +145,7 @@ while (true) { if (strlen($body) > 0) { if($event['httpMethod'] === 'POST'){ curl_setopt($ch, CURLOPT_POSTFIELDS, $body); - } + } curl_setopt($ch, CURLOPT_INFILESIZE, strlen($body)); curl_setopt($ch, CURLOPT_READFUNCTION, function ($ch, $fd, $length) use ($body) { return $body; @@ -191,6 +175,8 @@ while (true) { return strlen($header); } + $name = strtolower($name); + if (!array_key_exists($name, $response['multiValueHeaders'])) { $response['multiValueHeaders'][$name] = array(); }