public function testResponseCanRenderStatusLine() { $response = new Response(); $response->setVersion(1.1); $response->setStatusCode(Response::STATUS_CODE_404); $this->assertEquals('HTTP/1.1 404 Not Found', $response->renderStatusLine()); $response->setReasonPhrase('Foo Bar'); $this->assertEquals('HTTP/1.1 404 Foo Bar', $response->renderStatusLine()); }
private function buildResponse($format, HttpResponse $httpResponse, OAuthResponse $oauthResponse) { $httpResponse->setVersion($oauthResponse->version); $httpResponse->setStatusCode($oauthResponse->getStatusCode()); $headers = $httpResponse->getHeaders(); foreach ($oauthResponse->getHttpHeaders() as $name => $value) { $headers->addHeaderLine(sprintf('%s: %s', $name, $value)); } switch ($format) { case 'json': $headers->addHeaderLine('Content-Type: application/json'); $httpResponse->setContent(json_encode($oauthResponse->getParameters())); break; case 'xml': $headers->addHeaderLine('Content-Type: text/xml'); $xml = new SimpleXMLElement('<response/>'); foreach ($oauthResponse->getParameters() as $key => $param) { $xml->addChild($key, $param); } $httpResponse->setContent($xml->asXML()); break; default: throw new RuntimeException('Invalid format provided: ' . $format); } return $httpResponse; }