use of javax.ws.rs.core.Response.Status.Family in project java-chassis by ServiceComb.
the class GrpcCodec method decodeResponse.
public static Response decodeResponse(Invocation invocation, OperationProtobuf operationProtobuf, HttpClientResponse httpResponse, Buffer buffer) throws Exception {
// TODO:grpc的错误信息不在标准http status code上体现,而是有自己的code
Family family = Family.familyOf(httpResponse.statusCode());
boolean success = Family.SUCCESSFUL.equals(family);
if (success) {
return decodeSuccessResponse(invocation, operationProtobuf, buffer);
}
// 异常分支
return null;
}
use of javax.ws.rs.core.Response.Status.Family in project java-chassis by ServiceComb.
the class VertxRestDispatcher method sendFailureRespDeterminedByStatus.
/**
* Try to determine response by status code, and send response.
*/
private void sendFailureRespDeterminedByStatus(RoutingContext context) {
Family statusFamily = Family.familyOf(context.statusCode());
if (Family.CLIENT_ERROR.equals(statusFamily) || Family.SERVER_ERROR.equals(statusFamily) || Family.OTHER.equals(statusFamily)) {
context.response().putHeader(HttpHeaders.CONTENT_TYPE, MediaType.WILDCARD).setStatusCode(context.statusCode()).end();
} else {
// it seems the status code is not set properly
context.response().putHeader(HttpHeaders.CONTENT_TYPE, MediaType.WILDCARD).setStatusCode(Status.INTERNAL_SERVER_ERROR.getStatusCode()).setStatusMessage(Status.INTERNAL_SERVER_ERROR.getReasonPhrase()).end(wrapResponseBody(Status.INTERNAL_SERVER_ERROR.getReasonPhrase()));
}
context.response().close();
}
Aggregations