request.abortWith(cachedResponse(entry));
/** * Check parameters on request Context * @param requestContext */ private void checkParams(ClientRequestContext requestContext){ if (key==null) { Object keyObject = requestContext.getProperty(JWS_FILTER_KEY); if (keyObject == null) { requestContext.abortWith( Response.status(Response.Status.BAD_REQUEST).entity("Error " + JWS_FILTER_KEY + " param is required") .build() ); }else if (keyObject instanceof RSAPrivateKey) { key = (RSAPrivateKey)keyObject; } } }
@Override public void filter(ClientRequestContext context) throws IOException { context.abortWith(Response.status(201).entity(context.getEntity()).type(MediaType.TEXT_XML_TYPE).build()); } }
@Test public void testClientFiltersLocalResponseLambdas() { String address = "http://localhost:" + PORT + "/bookstores"; List<Object> providers = new ArrayList<>(); providers.add((ClientRequestFilter) ctx -> { ctx.abortWith(Response.status(201).entity(ctx.getEntity()).type(MediaType.TEXT_XML_TYPE).build()); }); providers.add((ClientResponseFilter) (reqContext, respContext) -> { MultivaluedMap<String, String> headers = respContext.getHeaders(); headers.putSingle(HttpHeaders.LOCATION, "http://localhost/redirect"); }); WebClient wc = WebClient.create(address, providers); Book theBook = new Book("Echo", 123L); Response r = wc.post(theBook); assertEquals(201, r.getStatus()); assertEquals("http://localhost/redirect", r.getHeaderString(HttpHeaders.LOCATION)); Book responseBook = r.readEntity(Book.class); assertSame(theBook, responseBook); }
request.abortWith(ok.build());
request.abortWith(ok.build());
request.abortWith(cachedResponse(entry));
request.abortWith(cachedResponse(entry));