/** * Simple exception factory for creating Intercom standardised exceptions * * @param RequestInterface $request The Request * @param Response $response The response * @return BadResponseException */ public static function factory(RequestInterface $request, Response $response) { if (!static::isValidIntercomError($response->json())) { $label = 'Unsuccessful response'; $class = __CLASS__; } elseif ($response->isClientError()) { $label = 'Client error response'; $class = __NAMESPACE__ . '\\ClientErrorResponseException'; } elseif ($response->isServerError()) { $label = 'Server error response'; $class = __NAMESPACE__ . '\\ServerErrorResponseException'; } else { $label = 'Unsuccessful response'; $class = __CLASS__; } $message = $label . PHP_EOL . implode(PHP_EOL, array('[status code] ' . $response->getStatusCode(), '[reason phrase] ' . $response->getReasonPhrase(), '[url] ' . $request->getUrl())); $e = new $class($message); $e->setResponse($response); $e->setRequest($request); // Sets the errors if the error response is the standard Intercom error type if (static::isValidIntercomError($response->json())) { $e->setErrors($response->json()['errors']); } return $e; }
/** * Simple exception factory for creating Intercom standardised exceptions * * @param RequestInterface $request The Request * @param Response $response The response * @return BadResponseException */ public static function factory(RequestInterface $request, Response $response) { $response_json = $response->json(); $intercom_unavailable_error = NULL; if (!static::isValidIntercomError($response_json)) { if ($response->isServerError()) { $label = 'Server error response'; $class = __NAMESPACE__ . '\\ServerErrorResponseException'; $intercom_unavailable_error = 'Service Unavailable: Back-end server is at capacity'; } else { $label = 'Unsuccessful response'; $class = __CLASS__; } } elseif ($response->isClientError()) { $label = 'Client error response'; $class = __NAMESPACE__ . '\\ClientErrorResponseException'; } elseif ($response->isServerError()) { $label = 'Server error response'; $class = __NAMESPACE__ . '\\ServerErrorResponseException'; } else { $label = 'Unsuccessful response'; $class = __CLASS__; } $message = $label . PHP_EOL . implode(PHP_EOL, array('[status code] ' . $response->getStatusCode(), '[reason phrase] ' . $response->getReasonPhrase(), '[url] ' . $request->getUrl())); $e = new $class($message); $e->setResponse($response); $e->setRequest($request); // Sets the errors if the error response is the standard Intercom error type if (static::isValidIntercomError($response_json)) { $e->setErrors($response_json['errors']); } elseif ($intercom_unavailable_error != NULL) { $e->setErrors(array('code' => 'service_unavailable', "message" => $intercom_unavailable_error)); } return $e; }
/** * Factory method to create a new Oauth exception. * * @param RequestInterface $request * @param Response $response * * @return OauthException */ public static function factory(RequestInterface $request, Response $response) { $message = 'Client error response' . PHP_EOL . implode(PHP_EOL, array('[status code] ' . $response->getStatusCode(), '[reason phrase] ' . $response->getReasonPhrase(), '[url] ' . $request->getUrl())); $e = new static($message); $e->setResponse($response); $e->setRequest($request); return $e; }
/** * Parses additional exception information from the response headers * * @param RequestInterface $request Request that was issued * @param Response $response The response from the request * @param array $data The current set of exception data */ protected function parseHeaders(RequestInterface $request, Response $response, array &$data) { $data['message'] = $response->getStatusCode() . ' ' . $response->getReasonPhrase(); if ($requestId = $response->getHeader('x-amz-request-id')) { $data['request_id'] = $requestId; $data['message'] .= " (Request-ID: {$requestId})"; } }
protected function prepareResponse(Response $data) { if ($data->getStatusCode() != 200) { throw new \InvalidArgumentException($data->getReasonPhrase()); } $response = json_decode($data->getBody(), true); $this->validateResponse($response); return $response; }
public function debug() { $r = new Response(); var_dump($r->getReasonPhrase()); $req = new Request(); $req->getPath(); }
/** * Prepares an EmbeddedResponse from the original response and data * * @param Guzzle\Http\Message\Response $originalResponse * @param array $data * * @return Desk\Relationship\Resource\EmbeddedResponse */ public function createResponse(Response $originalResponse, array $data) { $statusCode = $originalResponse->getStatusCode(); $reasonPhrase = $originalResponse->getReasonPhrase(); $headers = $originalResponse->getHeaders(); $body = json_encode($data); // set reason phrase -- needs to be done vie $response = $this->newResponse($statusCode, $headers, $body); $response->setReasonPhrase($reasonPhrase); return $response; }
public static function factory(RequestInterface $request, Response $response) { $label = 'Bearer error response'; $bearerReason = self::headerToReason($response->getHeader("WWW-Authenticate")); $message = $label . PHP_EOL . implode(PHP_EOL, array('[status code] ' . $response->getStatusCode(), '[reason phrase] ' . $response->getReasonPhrase(), '[bearer reason] ' . $bearerReason, '[url] ' . $request->getUrl())); $e = new static($message); $e->setResponse($response); $e->setRequest($request); $e->setBearerReason($bearerReason); return $e; }
/** * Factory method to create a new response exception based on the response code. * * @param RequestInterface $request Request * @param Response $response Response received * @param string $label * * @return BadResponseException */ public static function factory(RequestInterface $request, Response $response, $label = null) { if (!$label) { if ($response->isClientError()) { $label = 'Client error response'; } elseif ($response->isServerError()) { $label = 'Server error response'; } else { $label = 'Unsuccessful response'; } } $message = $label . PHP_EOL . implode(PHP_EOL, array('[status code] ' . $response->getStatusCode(), '[reason phrase] ' . $response->getReasonPhrase(), '[url] ' . $request->getUrl(), '[content type] ' . $response->getContentType(), '[response body] ' . $response->getBody(true))); $result = new static($message); $result->setResponse($response); $result->setRequest($request); return $result; }
public static function factory(RequestInterface $request, Response $response) { if ($response->isClientError()) { $label = 'Client error response'; $class = __NAMESPACE__ . '\\ClientErrorResponseException'; } elseif ($response->isServerError()) { $label = 'Server error response'; $class = __NAMESPACE__ . '\\ServerErrorResponseException'; } else { $label = 'Unsuccessful response'; $class = __CLASS__; } $message = $label . PHP_EOL . implode(PHP_EOL, array('[status code] ' . $response->getStatusCode(), '[reason phrase] ' . $response->getReasonPhrase(), '[url] ' . $request->getUrl())); $e = new self($message); $e->setResponse($response); $e->setRequest($request); return $e; }
/** * Returns a formatted message * * @param RequestInterface $request Request that was sent * @param Response $response Response that was received * @param CurlHandle $handle Curl handle associated with the message * @param array $customData Associative array of custom template data * * @return string */ public function format(RequestInterface $request, Response $response = null, CurlHandle $handle = null, array $customData = array()) { $cache = $customData; return preg_replace_callback('/{\\s*([A-Za-z_\\-\\.0-9]+)\\s*}/', function (array $matches) use($request, $response, $handle, &$cache) { if (array_key_exists($matches[1], $cache)) { return $cache[$matches[1]]; } $result = ''; switch ($matches[1]) { case 'request': $result = (string) $request; break; case 'response': $result = (string) $response; break; case 'req_body': $result = $request instanceof EntityEnclosingRequestInterface ? (string) $request->getBody() : ''; break; case 'res_body': $result = $response ? $response->getBody(true) : ''; break; case 'ts': $result = gmdate('c'); break; case 'method': $result = $request->getMethod(); break; case 'url': $result = (string) $request->getUrl(); break; case 'resource': $result = $request->getResource(); break; case 'protocol': $result = 'HTTP'; break; case 'version': $result = $request->getProtocolVersion(); break; case 'host': $result = $request->getHost(); break; case 'hostname': $result = gethostname(); break; case 'port': $result = $request->getPort(); break; case 'code': $result = $response ? $response->getStatusCode() : ''; break; case 'phrase': $result = $response ? $response->getReasonPhrase() : ''; break; case 'connect_time': if ($handle) { $result = $handle->getInfo(CURLINFO_CONNECT_TIME); } elseif ($response) { $result = $response->getInfo('connect_time'); } break; case 'total_time': if ($handle) { $result = $handle->getInfo(CURLINFO_TOTAL_TIME); } elseif ($response) { $result = $response->getInfo('total_time'); } break; case 'curl_error': $result = $handle ? $handle->getError() : ''; break; case 'curl_code': $result = $handle ? $handle->getErrorNo() : ''; break; case 'curl_stderr': $result = $handle ? $handle->getStderr() : ''; break; default: if (strpos($matches[1], 'req_header_') === 0) { $result = $request->getHeader(substr($matches[1], 11)); } elseif (strpos($matches[1], 'res_header_') === 0) { $result = $response->getHeader(substr($matches[1], 11)); } } $cache[$matches[1]] = $result; return $result; }, $this->template); }
/** * @covers Guzzle\Http\Message\Response::getReasonPhrase * @covers Guzzle\Http\Message\Response::setStatus */ public function testHandlesStatusAndStatusCodes() { $response = new Response(200, new Collection(), 'body'); $this->assertEquals('OK', $response->getReasonPhrase()); $this->assertSame($response, $response->setStatus(204)); $this->assertEquals('No Content', $response->getReasonPhrase()); $this->assertEquals(204, $response->getStatusCode()); $this->assertSame($response, $response->setStatus(204, 'Testing!')); $this->assertEquals('Testing!', $response->getReasonPhrase()); $this->assertEquals(204, $response->getStatusCode()); try { $response->setStatus(2000); $this->fail('Did not throw expected exception when setting an invalid status'); } catch (BadResponseException $e) { } }
public function visit(CommandInterface $command, Response $response, Parameter $param, &$value, $context = null) { $value[$param->getName()] = $response->getReasonPhrase(); }
/** * @covers Guzzle\Http\Message\Response::getReasonPhrase * @covers Guzzle\Http\Message\Response::setStatus */ public function testHandlesStatusAndStatusCodes() { $response = new Response(200, new Collection(), 'body'); $this->assertEquals('OK', $response->getReasonPhrase()); $this->assertSame($response, $response->setStatus(204)); $this->assertEquals('No Content', $response->getReasonPhrase()); $this->assertEquals(204, $response->getStatusCode()); $this->assertSame($response, $response->setStatus(204, 'Testing!')); $this->assertEquals('Testing!', $response->getReasonPhrase()); $this->assertEquals(204, $response->getStatusCode()); $response->setStatus(2000); $this->assertEquals(2000, $response->getStatusCode()); $this->assertEquals('', $response->getReasonPhrase()); $response->setStatus(200, 'Foo'); $this->assertEquals(200, $response->getStatusCode()); $this->assertEquals('Foo', $response->getReasonPhrase()); }
protected function getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null) { if ($response) { return isset($this->errorCodes[$response->getReasonPhrase()]) ? true : null; } }
/** * Check response code and throw appropriate exception * * @param Guzzle\Http\Message\Respone $response Guzzle Response * @return mixed */ protected function checkResponse(Response $response) { $status = $response->getStatusCode(); $reason = $response->getReasonPhrase(); switch ($status) { case '403': throw new Stanley\Geocodio\GeocodioAuthError($reason); break; case '422': throw new Stanley\Geocodio\GeocodioDataError($reason); break; case '500': throw new Stanley\Geocodio\GeocodioServerError($reason); break; case '200': return $response; break; default: throw new Stanley\Geocodio\GeocodioException("There was a problem with your request - {$reason}"); break; } }
/** * Decodes a response into a standard formatted array. (See * ClientInterface for documentation). * * @param Response $response Guzzle response * * @return array Response as array */ private function decodeResponse(Response $response) { return array('headers' => $response->getHeaders(), 'status' => $response->getStatusCode(), 'reason' => $response->getReasonPhrase(), 'version' => $response->getProtocolVersion(), 'body' => (string) $response->getBody(true)); }
public function getResponseStatusMessage() { return $this->response->getReasonPhrase(); }
/** * {@inheritdoc} */ public function getReasonPhrase() { return $this->response->getReasonPhrase(); }