@Override public HttpHeaders getHeaders() { if (httpHeaders == null) { HttpHeaders tmpHeaders = new HttpHeaders(); Headers headers = response.getHeaders(); if (headers.getHeaderMap() != null) { for (Entry<String, List<Object>> entry : headers.getHeaderMap().entrySet()) { for (Object value : entry.getValue()) { tmpHeaders.add(entry.getKey(), String.valueOf(value)); } } } httpHeaders = tmpHeaders; } return httpHeaders; }
@ApiResponse(code = 200, response = User.class, message = "") @ResponseHeaders({@ResponseHeader(name = "h1", response = String.class), @ResponseHeader(name = "h2", response = String.class)}) @RequestMapping(path = "/cseResponse", method = RequestMethod.GET) public Response cseResponse(InvocationContext c1) { Response response = Response.createSuccess(Status.ACCEPTED, new User()); Headers headers = response.getHeaders(); headers.addHeader("h1", "h1v " + c1.getContext().toString()); InvocationContext c2 = ContextUtils.getInvocationContext(); headers.addHeader("h2", "h2v " + c2.getContext().toString()); return response; }
@Override public Object mapResponse(Response response) { ResponseBuilder responseBuilder = javax.ws.rs.core.Response.status(response.getStatus()).entity(response.getResult()); Map<String, List<Object>> headers = response.getHeaders().getHeaderMap(); if (headers != null) { for (Entry<String, List<Object>> entry : headers.entrySet()) { responseBuilder.header(entry.getKey(), entry.getValue()); } } return responseBuilder.build(); } }
Collection<String> headerValues = responseEx.getHeaders(headerName); for (String headerValue : headerValues) { response.getHeaders().addHeader(headerName, headerValue);
@Override public Response mapResponse(StatusType status, Object response) { javax.ws.rs.core.Response jaxrsResponse = (javax.ws.rs.core.Response) response; Response cseResponse = Response.status(jaxrsResponse.getStatusInfo()).entity(jaxrsResponse.getEntity()); MultivaluedMap<String, Object> headers = jaxrsResponse.getHeaders(); for (Entry<String, List<Object>> entry : headers.entrySet()) { if (entry.getValue() == null || entry.getValue().isEmpty()) { continue; } cseResponse.getHeaders().getHeaderMap().put(entry.getKey(), entry.getValue()); } return cseResponse; } }
for (String headerName : responseMeta.getHeaders().keySet()) { for (String value : httpResponse.headers().getAll(headerName)) { response.getHeaders().addHeader(headerName, value);
private void onProviderResponse(Invocation invocation, Response response) { routingContext.response().putHeader("content-type", "application/grpc"); if (response.getHeaders().getHeaderMap() != null) { for (Entry<String, List<Object>> entry : response.getHeaders().getHeaderMap().entrySet()) { for (Object value : entry.getValue()) { routingContext.response().putHeader(entry.getKey(), String.valueOf(value)); } } } if (response.isSuccessed()) { sendSuccessResponse(invocation, response); return; } sendFailResponse(response.getResult()); }
@SuppressWarnings("deprecation") protected void sendResponse(Response response) throws Exception { if (response.getHeaders().getHeaderMap() != null) { for (Entry<String, List<Object>> entry : response.getHeaders().getHeaderMap().entrySet()) { for (Object value : entry.getValue()) { if (!entry.getKey().equalsIgnoreCase(HttpHeaders.CONTENT_LENGTH)) { responseEx.addHeader(entry.getKey(), String.valueOf(value)); } } } } responseEx.setStatus(response.getStatusCode(), response.getReasonPhrase()); responseEx.setContentType(produceProcessor.getName()); Object body = response.getResult(); if (response.isFailed()) { body = ((InvocationException) body).getErrorData(); } try (BufferOutputStream output = new BufferOutputStream(Unpooled.compositeBuffer())) { produceProcessor.encodeResponse(output, body); responseEx.setBodyBuffer(output.getBuffer()); for (HttpServerFilter filter : httpServerFilters) { filter.beforeSendResponse(invocation, responseEx); } responseEx.flushBuffer(); } }