Example #1
0
 public static function buildResponseFromHeader(array $headers)
 {
     $line = array_shift($headers);
     if (!empty($line)) {
         $parts = explode(' ', trim($line), 3);
         if (isset($parts[0]) && isset($parts[1]) && isset($parts[2])) {
             $scheme = strval($parts[0]);
             $code = intval($parts[1]);
             $message = strval($parts[2]);
             $response = new Response();
             $response->setProtocolVersion($scheme);
             $response->setStatus($code, $message);
             // append header
             foreach ($headers as $line) {
                 $parts = explode(':', $line, 2);
                 if (isset($parts[0]) && isset($parts[1])) {
                     $key = $parts[0];
                     $value = trim($parts[1]);
                     $response->addHeader($key, $value);
                 }
             }
             return $response;
         } else {
             throw new ParseException('Invalid status line format');
         }
     } else {
         throw new ParseException('Couldnt find status line');
     }
 }
Example #2
0
 public function createResponse()
 {
     $version = isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.1';
     $response = new Response();
     $response->setProtocolVersion($version);
     $response->setHeader('X-Powered-By', 'psx');
     $response->setBody(new TempStream(fopen('php://temp', 'r+')));
     return $response;
 }