RestResponse restResponse = new RestResponseBuilder().setStatus(HttpConstants.UNSUPPORTED_MEDIA_TYPE).build(); nextFilter.onError(new RestException(restResponse, e), requestContext, wireAttrs);
res = res.builder().setStatus(HttpConstants.NOT_ACCEPTABLE).setEntity(new byte[0]).build();
private void readResLine(RestResponseBuilder builder, InputStream in) throws IOException { readIgnore(HTTP_1_1, in); readIgnore(SP, in); try { final String statusStr = readUntil(SP_CHAR, in); builder.setStatus(Integer.parseInt(statusStr)); } catch (NumberFormatException e) { throw new IOException("Failed to parse HTTP status code", e); } readIgnoreLine(in); }
private static RestResponse createErrorRestResponse(ErrorResponse errorResponse) { RestResponseBuilder builder = new RestResponseBuilder().setStatus(errorResponse.getStatus()); String errorMessage = errorResponse.getMessage(); if (errorMessage != null) { builder.setEntity(errorMessage.getBytes()); } return builder.build(); } }
/** * Return a new {@link RestResponse} message with the specified status code. * * @param status the status code to use for the response message. * @param detail a detail message to be included as the body of the {@link RestResponse}. * @return a new {@link RestResponse} constructed as described above. */ public static RestResponse responseForStatus(int status, String detail) { if (detail == null) { detail = "No detailed message"; } // TODO: set charset in Content-Type header return new RestResponseBuilder() .setStatus(status) .setEntity(detail.getBytes(UTF8)) .setHeader("Content-Type", "text/plain") .build(); }
@Override public Greeting call() throws Exception { throw new RestException(new RestResponseBuilder().setStatus(401).build()); } });
/** * @return {@link RestResponse} based on this exception */ public RestResponse buildRestResponse() { RestResponseBuilder builder = new RestResponseBuilder().setStatus(_status); if (getMessage() != null) { builder.setEntity(ByteString.copyString(getMessage(), Charset.defaultCharset())); } return builder.build(); } }
builder.setStatus(nettyResponse.status().code());
private static RestResponse aggregateResponses(IndividualResponseMap responses, Map<String, HttpCookie> responseCookies) { MultiplexedResponseContent aggregatedResponseContent = new MultiplexedResponseContent(); aggregatedResponseContent.setResponses(responses); byte[] aggregatedResponseData = DataMapUtils.mapToBytes(aggregatedResponseContent.data()); return new RestResponseBuilder() .setStatus(HttpStatus.S_200_OK.getCode()) .setEntity(aggregatedResponseData) .setCookies(CookieUtil.encodeSetCookies(new ArrayList<>(responseCookies.values()))) .build(); } }
@Action(name = "promise") public Promise<Greeting> promise(@ActionParam(value = "id") final String key) { if (key.equals("returnNonService")) { // Non-RestLiServiceException passed to callback return Promises.error(new RestException(new RestResponseBuilder().setStatus(401).build())); } // RestLiServiceException passed to callback if (key.equals("returnService")) { return Promises.error(new RestLiServiceException(HttpStatus.S_401_UNAUTHORIZED)); } //RestLiServiceException thrown if (key.equals("throwService")) { throw new RestLiServiceException(HttpStatus.S_401_UNAUTHORIZED); } if (key.equals("throwNonService")) { // Non-RestLiServiceException thrown throw new IllegalStateException(); } return Promises.value(new Greeting()); }
@Action(name = "callback") public void callback(@ActionParam(value = "id") final String key, @CallbackParam final Callback<Greeting> callback) { // Non-RestLiServiceException passed to callback if (key.equals("returnNonService")) { callback.onError(new RestException(new RestResponseBuilder().setStatus(401).build())); } // RestLiServiceException passed to callback if (key.equals("returnService")) { callback.onError(new RestLiServiceException(HttpStatus.S_401_UNAUTHORIZED)); } //RestLiServiceException thrown if (key.equals("throwService")) { throw new RestLiServiceException(HttpStatus.S_401_UNAUTHORIZED); } if (key.equals("throwNonService")) { // Non-RestLiServiceException thrown throw new IllegalStateException(); } callback.onSuccess(new Greeting()); } }
setStatus(HttpStatus.S_200_OK.getCode()). setHeader(RestConstants.HEADER_CONTENT_TYPE, renderer.getMIMEType()). setEntity(out.toByteArray()).
RestResponse restResponse = new RestResponseBuilder().setStatus(HttpConstants.UNSUPPORTED_MEDIA_TYPE).build(); nextFilter.onError(new RestException(restResponse, e), requestContext, wireAttrs);
public static RestException buildRestException(RestLiResponseException restLiResponseException) { RestLiResponse restLiResponse = restLiResponseException.getRestLiResponse(); RestResponseBuilder responseBuilder = new RestResponseBuilder() .setHeaders(restLiResponse.getHeaders()) .setCookies(CookieUtil.encodeSetCookies(restLiResponse.getCookies())) .setStatus(restLiResponse.getStatus().getCode()); if (restLiResponse.hasData()) { DataMap dataMap = restLiResponse.getDataMap(); ByteArrayOutputStream baos = new ByteArrayOutputStream(4096); DataMapUtils.write(dataMap, null, baos, true); responseBuilder.setEntity(ByteString.unsafeWrap(baos.toByteArray())); // TODO: Error response not always built in requested content type. responseBuilder.setHeader(RestConstants.HEADER_CONTENT_TYPE, ContentType.JSON.getHeaderKey()); } RestResponse restResponse = responseBuilder.build(); return new RestException(restResponse, restLiResponseException.getCause()); }
private static RestResponse buildIndividualRestResponse(Response<?> envelopeResponse, IndividualResponse individualResponse) throws IOException, MimeTypeParseException { IndividualBody body = individualResponse.getBody(GetMode.NULL); ByteString entity = (body != null) ? DataMapConverter.dataMapToByteString(individualResponse.getHeaders(), body.data()) : ByteString.empty(); return new RestResponseBuilder() .setStatus(individualResponse.getStatus()) .setHeaders(inheritHeaders(individualResponse, envelopeResponse)) .setCookies(CookieUtil.encodeSetCookies(envelopeResponse.getCookies())) .setEntity(entity) .build(); }
public static RestResponse buildResponse(RoutingResult routingResult, RestLiResponse restLiResponse) { RestResponseBuilder builder = new RestResponseBuilder() .setHeaders(restLiResponse.getHeaders()) .setCookies(CookieUtil.encodeSetCookies(restLiResponse.getCookies())) .setStatus(restLiResponse.getStatus().getCode()); ServerResourceContext context = routingResult.getContext(); ResourceEntityType resourceEntityType = routingResult.getResourceMethod() .getResourceModel() .getResourceEntityType(); if (restLiResponse.hasData() && ResourceEntityType.STRUCTURED_DATA == resourceEntityType) { DataMap dataMap = restLiResponse.getDataMap(); String mimeType = context.getResponseMimeType(); builder = encodeResult(mimeType, builder, dataMap); } return builder.build(); }
res = res.builder().setStatus(HttpConstants.NOT_ACCEPTABLE).setEntity(new byte[0]).build();