本文整理匯總了PHP中Psr\Http\Message\ResponseInterface::getRpcErrorCode方法的典型用法代碼示例。如果您正苦於以下問題:PHP ResponseInterface::getRpcErrorCode方法的具體用法?PHP ResponseInterface::getRpcErrorCode怎麽用?PHP ResponseInterface::getRpcErrorCode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Psr\Http\Message\ResponseInterface
的用法示例。
在下文中一共展示了ResponseInterface::getRpcErrorCode方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: applyResponse
/**
* {@inheritdoc}
*/
public function applyResponse(HttpRequestInterface $request, HttpResponseInterface $response, array $options)
{
if ($response instanceof ResponseInterface && isset($options['rpc_error']) && true === $options['rpc_error'] && null !== $response->getRpcErrorCode()) {
throw RequestException::create($request, $response);
}
return $response;
}
示例2: create
/**
* {@inheritdoc}
*/
public static function create(HttpRequestInterface $request, HttpResponseInterface $response = null, Exception $previous = null, array $handlerContext = null)
{
if ($request instanceof RequestInterface && $response instanceof ResponseInterface) {
static $clientErrorCodes = [-32600, -32601, -32602, -32700];
$errorCode = $response->getRpcErrorCode();
if (in_array($errorCode, $clientErrorCodes)) {
$label = 'Client RPC error response';
$className = __NAMESPACE__ . '\\ClientException';
} else {
$label = 'Server RPC error response';
$className = __NAMESPACE__ . '\\ServerException';
}
$message = $label . ' [uri] ' . $request->getRequestTarget() . ' [method] ' . $request->getRpcMethod() . ' [error code] ' . $errorCode . ' [error message] ' . $response->getRpcErrorMessage();
return new $className($message, $request, $response, $previous);
}
return parent::create($request, $response, $previous);
}