@Override public String getHeader(String headerName) { return ctx.getHeaderString(headerName); }
@Override public String getHeader(String headerName) { return ctx.getHeaderString(headerName); }
.filter(s -> s.startsWith("Bearer ")) .filter(s -> !responseContext.getStatusInfo().getFamily().equals(Response.Status.Family.CLIENT_ERROR)) .filter(s -> responseContext.getHeaderString(HttpHeaders.AUTHORIZATION) == null) .map(h -> renewJWT ? ("Bearer " + MCRRestAPIAuthentication .getToken(currentSession.getUserInformation(), currentSession.getCurrentIP())
String contentType = responseContext.getHeaderString("Content-Type"); boolean logResponseText = "text/plain".equals(contentType) || "application/json".equals(contentType);
public class MyContainerResponseFilter implements ContainerResponseFilter { @Override public void filter(ContainerRequestContext containerRequestContext, ContainerResponseContext containerResponseContext) throws IOException { // You can get the body of the response from the ContainerResponseContext Object entity = containerResponseContext.getEntity(); // You'll need to know what kind of Object the entity is in order to do something useful though // You can get some data using these functions Class<?> entityClass = containerResponseContext.getEntityClass(); Type entityType = containerResponseContext.getEntityType(); // And/or by looking at the ContainerRequestContext and knowing what the response entity will be String method = containerRequestContext.getMethod(); UriInfo uriInfo = containerRequestContext.getUriInfo(); // Then you can modify your Authorization header in some way String authorizationHeaderValue = containerResponseContext.getHeaderString(HttpHeaders.AUTHORIZATION); authorizationHeaderValue = authorizationHeaderValue + " a signature you calculated"; containerResponseContext.getHeaders().putSingle(HttpHeaders.AUTHORIZATION, authorizationHeaderValue); } }
String respondedResourceURIString = response.getHeaderString(HttpHeaders.LOCATION); URI respondedResourceURI = URI.create(respondedResourceURIString); IResourceStore.IResourceId respondedResourceId = RestUtilities.extractResourceId(respondedResourceURI);
event.setUriInfo(uriInfo); event.setResourceInfo(resourceInfo); event.setLocation(URI.create(responseContext.getHeaderString(HttpHeaders.LOCATION))); event.setContainerRequestContext(requestContext); event.setContainerResponseContext(responseContext);
event.setUriInfo(uriInfo); event.setResourceInfo(resourceInfo); event.setLocation(URI.create(responseContext.getHeaderString(HttpHeaders.LOCATION))); event.setContainerRequestContext(requestContext); event.setContainerResponseContext(responseContext);
Method resourceMethod = resourceInfo.getResourceMethod(); if (resourceMethod != null && (isPUT(resourceMethod) || isPATCH(resourceMethod) || isPOST(resourceMethod) || isDELETE(resourceMethod)) && httpStatus >= 200 && httpStatus < 300) { String resourceLocationUri = contextResponse.getHeaderString(HttpHeaders.LOCATION); if (resourceLocationUri != null) { if (resourceLocationUri.contains("://")) {