Пример #1
0
 /**
  * Replaces a header in the collection, either in "Header: Value" format
  * or an {@link HeaderField} object.
  * @chainable
  */
 function replace($header)
 {
     if (is_string($header)) {
         $header = HeaderField::fromString($header);
     }
     return $this->remove($header->getName())->add($header);
 }
Пример #2
0
 /**
  * Parses a response into headers and a body
  */
 private function _buildResponse($response)
 {
     $sections = explode("\r\n\r\n", $response, 2);
     $body = isset($sections[1]) ? $sections[1] : NULL;
     $headers = array();
     $headerlines = explode("\n", $sections[0]);
     // process status
     list($http, $code, $message) = explode(' ', $headerlines[0], 3);
     // process headers
     foreach (array_slice($headerlines, 1) as $headerline) {
         $headers[] = HeaderField::fromString($headerline);
     }
     $response = new Response($code, $headers, $body);
     return $response;
 }