private function generateRawRequestHeaders(Request $request)
{
$uri = $request->getUri();
$uri = new Uri($uri);
$requestUri = $uri->getPath() ?: '/';
if ($query = $uri->getQuery()) {
$requestUri .= '?' . $query;
}
$str = $request->getMethod() . ' ' . $requestUri . ' HTTP/' . $request->getProtocol() . "\r\n";
foreach ($request->getAllHeaders() as $field => $valueArr) {
foreach ($valueArr as $value) {
$str .= "{$field}: {$value}\r\n";
}
}
$str .= "\r\n";
return $str;
}