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(); }