Search in sources :

Example 11 with HttpHeadersImpl

use of org.apache.cxf.jaxrs.impl.HttpHeadersImpl in project cxf by apache.

the class CustomOutInterceptor method handleMessage.

@SuppressWarnings("unchecked")
public void handleMessage(Message message) throws Fault {
    String requestUri = (String) message.getExchange().getInMessage().get(Message.REQUEST_URI);
    if (requestUri.endsWith("/outfault")) {
        throw new WebApplicationException(403);
    }
    HttpHeaders requestHeaders = new HttpHeadersImpl(message.getExchange().getInMessage());
    if (requestHeaders.getHeaderString("PLAIN-MAP") != null) {
        Map<String, List<String>> headers = (Map<String, List<String>>) message.get(Message.PROTOCOL_HEADERS);
        if (headers == null) {
            headers = new HashMap<>();
            message.put(Message.PROTOCOL_HEADERS, headers);
        }
        headers.put("BookId", Arrays.asList("321"));
        headers.put("MAP-NAME", Arrays.asList(Map.class.getName()));
        message.put(Message.PROTOCOL_HEADERS, headers);
    } else {
        MultivaluedMap<String, Object> headers = new MetadataMap<>();
        headers.putSingle("BookId", "123");
        headers.putSingle("MAP-NAME", MultivaluedMap.class.getName());
        message.put(Message.PROTOCOL_HEADERS, headers);
    }
}
Also used : HttpHeaders(javax.ws.rs.core.HttpHeaders) MetadataMap(org.apache.cxf.jaxrs.impl.MetadataMap) WebApplicationException(javax.ws.rs.WebApplicationException) List(java.util.List) MultivaluedMap(javax.ws.rs.core.MultivaluedMap) MetadataMap(org.apache.cxf.jaxrs.impl.MetadataMap) HashMap(java.util.HashMap) MultivaluedMap(javax.ws.rs.core.MultivaluedMap) Map(java.util.Map) HttpHeadersImpl(org.apache.cxf.jaxrs.impl.HttpHeadersImpl)

Aggregations

HttpHeadersImpl (org.apache.cxf.jaxrs.impl.HttpHeadersImpl)11 HttpHeaders (javax.ws.rs.core.HttpHeaders)6 Cookie (javax.ws.rs.core.Cookie)3 URI (java.net.URI)2 ResponseBuilder (javax.ws.rs.core.Response.ResponseBuilder)2 UriInfo (javax.ws.rs.core.UriInfo)2 ReaderInterceptor (javax.ws.rs.ext.ReaderInterceptor)2 ReaderInterceptorContext (javax.ws.rs.ext.ReaderInterceptorContext)2 ReaderInterceptorContextImpl (org.apache.cxf.jaxrs.impl.ReaderInterceptorContextImpl)2 ReaderInterceptorMBR (org.apache.cxf.jaxrs.impl.ReaderInterceptorMBR)2 IOException (java.io.IOException)1 StringReader (java.io.StringReader)1 HashMap (java.util.HashMap)1 List (java.util.List)1 Map (java.util.Map)1 ServletRequest (javax.servlet.ServletRequest)1 WebApplicationException (javax.ws.rs.WebApplicationException)1 AsyncResponse (javax.ws.rs.container.AsyncResponse)1 MediaType (javax.ws.rs.core.MediaType)1 MultivaluedMap (javax.ws.rs.core.MultivaluedMap)1