@Override public Response getListingJson(Application app, ServletConfig sc, HttpHeaders headers, UriInfo uriInfo) throws JsonProcessingException { Response response = getListingJsonResponse(app, context, sc, headers, uriInfo); response.getHeaders().add("Access-Control-Allow-Origin", "*"); response.getHeaders().add("Access-Control-Allow-Headers", "x-requested-with, ssi-token"); response.getHeaders().add("Access-Control-Max-Age", "3600"); response.getHeaders().add("Access-Control-Allow-Methods","GET,POST,PUT,DELETE,OPTIONS"); return response; } }
@Override public Response getListingJson(Application app, ServletConfig sc, HttpHeaders headers, UriInfo uriInfo) throws JsonProcessingException { Response response = getListingJsonResponse(app, context, sc, headers, uriInfo); response.getHeaders().add("Access-Control-Allow-Origin", "*"); response.getHeaders().add("Access-Control-Allow-Headers", "x-requested-with, ssi-token"); response.getHeaders().add("Access-Control-Max-Age", "3600"); response.getHeaders().add("Access-Control-Allow-Methods","GET,POST,PUT,DELETE,OPTIONS"); return response; } }
for (final String key : response.getHeaders().keySet()) { final List<Object> values = response.getHeaders().get(key); for (final Object value : values) { if (key.equalsIgnoreCase("transfer-encoding") || key.equalsIgnoreCase("content-length")) {
private <T> void assertEqualsJsonResponse(Response expected, Response actual, Class<T> entityClass) throws IOException { ObjectMapper objectMapper = new ObjectMapper(); T entityFromExpected = objectMapper.readValue((String) expected.getEntity(), entityClass); T actualFromExpected = objectMapper.readValue((String) expected.getEntity(), entityClass); assertEquals(entityFromExpected, actualFromExpected); assertEquals(expected.getStatus(), actual.getStatus()); assertTrue(expected.getHeaders().equalsIgnoreValueOrder(actual.getHeaders())); } }
@Override public void run() { try { requestScopeListener.resume(foreignScopeInstance, responder.runtime.injectionManager); final Response jaxrsResponse = (response instanceof Response) ? (Response) response : Response.ok(response).build(); if (!responder.runtime.disableLocationHeaderRelativeUriResolution) { ServerRuntime.ensureAbsolute(jaxrsResponse.getLocation(), jaxrsResponse.getHeaders(), responder.processingContext.request(), responder.runtime.rfc7231LocationHeaderRelativeUriResolution); } responder.process(new ContainerResponse(responder.processingContext.request(), jaxrsResponse)); } catch (final Throwable t) { responder.process(t); } } });
@Override public void run() { try { requestScopeListener.resume(foreignScopeInstance, responder.runtime.injectionManager); final Response jaxrsResponse = (response instanceof Response) ? (Response) response : Response.ok(response).build(); if (!responder.runtime.disableLocationHeaderRelativeUriResolution) { ServerRuntime.ensureAbsolute(jaxrsResponse.getLocation(), jaxrsResponse.getHeaders(), responder.processingContext.request(), responder.runtime.rfc7231LocationHeaderRelativeUriResolution); } responder.process(new ContainerResponse(responder.processingContext.request(), jaxrsResponse)); } catch (final Throwable t) { responder.process(t); } } });
@Test public void runAppAndBasicTest() throws InterruptedException, ExecutionException{ Client client = ClientBuilder.newClient(); WebTarget resource = client.target("http://localhost:8080/simple-app/single/ping"); Builder request = resource.request(); request.accept(MediaType.TEXT_PLAIN); assertFalse(request.get().getHeaders().containsKey("Access-Control-Allow-Origin")); }
@Test public void runAppAndBasicTest() throws InterruptedException, ExecutionException{ Client client = ClientBuilder.newClient(); WebTarget resource = client.target("http://localhost:8080/simple-app/single/ping"); Builder request = resource.request(); request.accept(MediaType.TEXT_PLAIN); assertTrue(request.get().getHeaders().containsKey("Access-Control-Allow-Origin")); }
public class InterceptingOkClient extends OkClient { public InterceptingOkClient() { } public InterceptingOkClient(OkHttpClient client) { super(client); } @Override public Response execute(Request request) throws IOException { Response response = super.execute(request); for (Header header : response.getHeaders()) { // do something with header } return response; } }
@Override public Response toResponse(WebApplicationException exception) { Response response = exception.getResponse(); if (response.hasEntity()) { return response; } MultivaluedMap<String, Object> headers = response.getHeaders(); boolean trace = this.trace(response.getStatus()); response = Response.status(response.getStatus()) .type(MediaType.APPLICATION_JSON) .entity(formatException(exception, trace)) .build(); response.getHeaders().putAll(headers); return response; }
@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().addHeader(entry.getKey(), entry.getValue()); } return cseResponse; } }
if (candiate.handles(response.getStatus(), response.getHeaders()))
private Response doGetRequest(String location, String auth, String query) { String url = String.format("%s?%s", location, query); Response r = this.client.target(url) .request() .header(HttpHeaders.AUTHORIZATION, auth) .accept(MediaType.APPLICATION_JSON) .acceptEncoding(CompressInterceptor.GZIP) .get(); if (r.getMediaType() != null) { // Append charset assert MediaType.APPLICATION_JSON_TYPE.equals(r.getMediaType()); r.getHeaders().putSingle(HttpHeaders.CONTENT_TYPE, r.getMediaType().withCharset(CHARSET)); } gremlinInputHistogram.update(query.length()); gremlinOutputHistogram.update(r.getLength()); return r; }
private Response doPostRequest(String location, String auth, String req) { Entity<?> body = Entity.entity(req, MediaType.APPLICATION_JSON); Response r = this.client.target(location) .request() .header(HttpHeaders.AUTHORIZATION, auth) .accept(MediaType.APPLICATION_JSON) .acceptEncoding(CompressInterceptor.GZIP) .post(body); if (r.getMediaType() != null) { // Append charset assert MediaType.APPLICATION_JSON_TYPE.equals(r.getMediaType()); r.getHeaders().putSingle(HttpHeaders.CONTENT_TYPE, r.getMediaType().withCharset(CHARSET)); } gremlinInputHistogram.update(req.length()); gremlinOutputHistogram.update(r.getLength()); return r; }
@Override public void run() { try { requestScopeListener.resume(foreignScopeInstance, responder.runtime.injectionManager); final Response jaxrsResponse = (response instanceof Response) ? (Response) response : Response.ok(response).build(); if (!responder.runtime.disableLocationHeaderRelativeUriResolution) { ServerRuntime.ensureAbsolute(jaxrsResponse.getLocation(), jaxrsResponse.getHeaders(), responder.processingContext.request(), responder.runtime.rfc7231LocationHeaderRelativeUriResolution); } responder.process(new ContainerResponse(responder.processingContext.request(), jaxrsResponse)); } catch (final Throwable t) { responder.process(t); } } });
String s = String.class.cast(response.getHeaders().getFirst("resteasy.buffer.exception.entity")); if (s == null || Boolean.parseBoolean(s))
/** * Check if the underlying response contains the information on when is it * possible to {@link HttpHeaders#RETRY_AFTER retry the request}. * * @return {@code true} in case the retry time is specified in the underlying * response, {@code false} otherwise. */ public boolean hasRetryAfter() { return getResponse().getHeaders().containsKey(RETRY_AFTER); }
private void assertThatTraceIsPresent(final Response r, final SpanId spanId) { assertThat((String)r.getHeaders().getFirst(SPAN_ID_NAME), equalTo(Long.toString(spanId.spanId()))); assertThat((String)r.getHeaders().getFirst(TRACE_ID_NAME), equalTo(Long.toString(spanId.traceId()))); assertThat((String)r.getHeaders().getFirst(SAMPLED_NAME), equalTo(Boolean.toString(spanId.sampled()))); assertThat((String)r.getHeaders().getFirst(PARENT_SPAN_ID_NAME), equalTo(Long.toString(spanId.parentId()))); }
@Test public void testThatNewSpanIsCreatedWhenNotProvided() { final Response r = createWebClient("/bookstore/books").get(); assertEquals(Status.OK.getStatusCode(), r.getStatus()); assertThat(TestSpanReporter.getAllSpans().size(), equalTo(2)); assertThat(TestSpanReporter.getAllSpans().get(0).name(), equalTo("get books")); assertThat(TestSpanReporter.getAllSpans().get(1).name(), equalTo("get /bookstore/books")); assertFalse(r.getHeaders().containsKey(SPAN_ID_NAME)); assertFalse(r.getHeaders().containsKey(TRACE_ID_NAME)); assertFalse(r.getHeaders().containsKey(SAMPLED_NAME)); assertFalse(r.getHeaders().containsKey(PARENT_SPAN_ID_NAME)); }
@Test public void testOnewayWebClient2() throws Exception { WebClient client = WebClient.create("http://localhost:" + PORT + "/bookstore/oneway"); Response r = client.post(null); assertEquals(202, r.getStatus()); assertFalse(r.getHeaders().isEmpty()); }