Package org.kie.remote.common.rest.variant

Examples of org.kie.remote.common.rest.variant.ServerDrivenNegotiation


    public static final Variant jsonVariant
        = Variant.mediaTypes(MediaType.APPLICATION_JSON_TYPE).add().build().get(0);
   
    public static Variant getVariant(HttpHeaders headers) {
        // copied (except for the acceptHeaders fix) from RestEasy's RequestImpl class
        ServerDrivenNegotiation negotiation = new ServerDrivenNegotiation();
        MultivaluedMap<String, String> requestHeaders = headers.getRequestHeaders();
        List<String> acceptHeaders = requestHeaders.get(ACCEPT);
        // Fix
        if( acceptHeaders != null && ! acceptHeaders.isEmpty() ) {
            List<String> fixedAcceptHeaders = new ArrayList<String>();
            for(String header : acceptHeaders ) {
                fixedAcceptHeaders.add(header.replaceAll("q=\\.", "q=0."));
            }
            acceptHeaders = fixedAcceptHeaders;
        }
        negotiation.setAcceptHeaders(acceptHeaders);
        negotiation.setAcceptCharsetHeaders(requestHeaders.get(ACCEPT_CHARSET));
        negotiation.setAcceptEncodingHeaders(requestHeaders.get(ACCEPT_ENCODING));
        negotiation.setAcceptLanguageHeaders(requestHeaders.get(ACCEPT_LANGUAGE));

        return negotiation.getBestMatch(variants);
        // ** use below instead of above when RESTEASY-960 is fixed **
        // return restRequest.selectVariant(variants);
    }
View Full Code Here

TOP

Related Classes of org.kie.remote.common.rest.variant.ServerDrivenNegotiation

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.