本文整理汇总了PHP中Response::getCode方法的典型用法代码示例。如果您正苦于以下问题:PHP Response::getCode方法的具体用法?PHP Response::getCode怎么用?PHP Response::getCode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Response
的用法示例。
在下文中一共展示了Response::getCode方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: responseAction
/**
* Returns a Response object.
*
* @route GET /?method=example.response&format=json
* @route GET /?method=example.response&format=xml
* @route GET /example/response.json
* @route GET /example/response.xml
*
* @param Request $request
* @return Response
*/
public function responseAction($request)
{
// accept JSON and XML
$request->acceptContentTypes(array('json', 'xml'));
$response = new Response();
$response->statusCode = $response->getCode();
$response->contentType = $request->getContentType();
$response->key = 'value';
return $response;
}
示例2: run
public function run()
{
try {
$request = $this->requestFactory->createRequest();
$controller = $this->controllerFactory->create($request);
$response = $controller->run($request);
} catch (AuthorizationException $e) {
$response = new Response(['message' => $e->getMessage()], 401);
} catch (ApiException $e) {
$response = new Response(['message' => $e->getMessage()], $e->getCode() ?: 400);
}
http_response_code($response->getCode());
header('Content-Type: application/json');
$body = json_encode($response->getData());
header('X-Api-Signature: ' . hash_hmac('sha256', $body, $this->configuration->getPrivateKey()));
echo $body;
}
示例3: throwExceptions
/**
* Throw exception
*
* @param Response $response
*
* @throws Exception\ExceptionInterface
*
* @codeCoverageIgnore
*/
protected function throwExceptions(Response $response)
{
if ($response->hasErrors()) {
throw $response->getLastError();
}
$message = 'Error while execute request, code: ' . $response->getCode();
switch ($response->getCode()) {
case 200:
case 201:
break;
case 204:
$message = 'No content';
break;
case 400:
$message = 'Bad Request';
break;
case 401:
$message = 'Unauthorized';
break;
case 404:
$message = 'Not Found';
break;
case 405:
$message = 'Method Not Allowed';
break;
case 500:
$message = 'Internal Server Error';
break;
}
throw new Exception\HttpException($message, $response->getCode());
}
示例4: testGetCode
public function testGetCode()
{
$response = new Response('response data', 1234);
$this->assertSame(1234, $response->getCode());
}
示例5: testGetCode
public function testGetCode()
{
$response = new Response(array('_no_use' => 1));
$this->assertEquals(-1, $response->getCode());
$this->assertFalse($response->isOk());
}
示例6: getCode
/**
* Get a code describing the status of this response.
*
* @return string|null code
*/
public function getCode()
{
return $this->isSuccessful() ? $this->getStatus() : parent::getCode();
}
示例7: send
/**
* @param Request $request
* @param bool $redirectsEnabled
* @param int $maxRedirects
* @return Response
* @throws RequestException
*/
public function send(Request $request, $redirectsEnabled = false, $maxRedirects = 20)
{
/// Is there curl_init function
if (!function_exists('curl_init')) {
throw new RequestException('curl_init doesn\'t exists. Is curl extension instaled and enabled?');
}
/// Dont send request without url
if (!$request->getUrl()) {
return new Response();
}
$url = $request->getUrl();
if (!empty($this->params)) {
$url .= '?' . http_build_query($this->params);
}
@curl_setopt($this->handle, CURLOPT_URL, $url);
if ($request->getJSON() !== null) {
$request->addHeaders(array('Content-Type' => 'application/json'));
}
$this->setCookies($request->getCookies());
$this->setHeaders($request->getHeaders());
$this->setMethod($request->getMethod());
/// Set post fields to CURL handle
if (count($request->getPostFields()) > 0 || $request->getJSON()) {
$fields = $request->getJSON() ? json_encode($request->getJSON()) : $request->getPostFields();
$this->setPostFields($fields, $request->getMethod(), $request->getHeader('Content-Type'));
$request->setJSON(null);
}
/// Execute
$response = curl_exec($this->handle);
/// Remove content type header to not be used in further requests
$request->unsetHeader('Content-Type');
/// Handle CURL error
if ($response == FALSE) {
throw new RequestException("CURL error [" . curl_errno($this->handle) . "]: " . curl_error($this->handle), curl_errno($this->handle));
}
/// Separate response header and body
/// Http 100 workaround
$parts = explode("\r\n\r\nHTTP/", $response);
$parts = (count($parts) > 1 ? 'HTTP/' : '') . array_pop($parts);
list($headers, $body) = explode("\r\n\r\n", $parts, 2);
$response = new Response(curl_getinfo($this->handle, CURLINFO_HTTP_CODE), $headers, $body);
/// If cookiesEnabled then call addCookies with response cookies
if ($request->isCookiesEnabled()) {
$request->addCookies($response->getCookies());
}
/// Are redirects enabled? (Also check redirects count)
if ($redirectsEnabled && ($response->getCode() == 301 || $response->getCode() == 302 || $response->getCode() == 303) && $this->redirectCount < $maxRedirects) {
$response = $this->doFollow($request, $response, $maxRedirects);
} else {
if ($this->redirectCount == $maxRedirects) {
throw new RequestException("Maximum of " . $maxRedirects . " redirects reached.");
}
$this->redirectCount = 0;
}
return $response;
}
示例8: getResponseCode
public function getResponseCode()
{
return Response::getCode();
}
示例9: handleCommand
public function handleCommand($command, $data = null)
{
switch (strtolower($command)) {
// string
case 'summary':
case 'description':
$this->{$command} = $data;
return $this;
// string[]
// string[]
case 'tags':
case 'schemes':
$this->{$command} = array_merge($this->{$command}, self::words_split($data));
return $this;
// MIME[]
// MIME[]
case 'consumes':
case 'produces':
$this->{$command} = array_merge($this->{$command}, self::translateMimeTypes(self::words_split($data)));
return $this;
// boolean
// boolean
case 'deprecated':
$this->deprecated = true;
return $this;
case 'error':
$code = Response::getCode(self::words_shift($data));
$description = $data;
$Error = new Error($this, $code, $description);
$this->responses[$code] = $Error;
return $Error;
case 'errors':
foreach (self::words_split($data) as $code) {
$code = Response::getCode($code);
$this->responses[$code] = new Error($this, $code);
}
return $this;
case 'path':
case 'path?':
case 'query':
case 'query?':
case 'header':
case 'header?':
case 'form':
case 'form?':
$in = rtrim($command, '?');
$Parameter = new Parameter($this, $in, $data, substr($command, -1) !== '?');
$this->parameters[] = $Parameter;
return $Parameter;
case 'body':
case 'body?':
$in = rtrim($command, '?');
$Parameter = new BodyParameter($this, $data, substr($command, -1) !== '?');
$this->parameters[] = $Parameter;
return $Parameter;
case 'response':
$code = Response::getCode(strtolower(self::words_shift($data)));
$definition = self::words_shift($data);
$description = $data;
$Response = new Response($this, $code, $definition, $description);
$this->responses[$code] = $Response;
return $Response;
case 'require':
$name = self::words_shift($data);
$this->security[$name] = self::words_split($data);
return $this;
//@todo operationId
}
return parent::handleCommand($command, $data);
}
示例10: getResponseCode
/**
* Get the response code after the request has been sent.
* If redirects were allowed and several responses were received, the data references the last received response.
* @return int
*/
public function getResponseCode()
{
return $this->response->getCode();
}
示例11: getResponse
/**
* Get the response.
* @throws ApiException
* @return mixed JSON response
*/
public function getResponse()
{
if ($this->status !== 200) {
throw new \Exception('Something went wrong... Status: ' . $this->status . ' Body: ' . $this->body);
}
$jsonRawResponse = json_decode($this->body, true);
$jsonResponse = new Response($jsonRawResponse);
if ($jsonResponse->getCode() !== 0) {
throw new ApiException($jsonResponse->getError(), $jsonResponse->getContext(), $jsonResponse->getCode());
}
return $jsonResponse->getContext();
}