예제 #1
0
파일: Client.php 프로젝트: PeeHaa/Artax
 /**
  * @TODO Send absolute URIs in the request line when using a proxy server
  *       Right now this doesn't matter because all proxy requests use a CONNECT
  *       tunnel but this likely will not always be the case.
  */
 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;
 }