本文整理汇总了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);
}