public static List<MediaType> extractAccepts(MultivaluedMap<String, String> requestHeaders) { List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>(); List<String> accepts = requestHeaders.get(HttpHeaderNames.ACCEPT); if (accepts == null) return acceptableMediaTypes; for (String accept : accepts) { acceptableMediaTypes.addAll(MediaTypeHelper.parseHeader(accept)); } return acceptableMediaTypes; }
public static MediaType[] getProduces(Class declaring, Method method) { return getProduces(declaring, method, null); }
public SseEventInputImpl(final Annotation[] annotations, final MediaType streamType, final MediaType elementType, final MultivaluedMap<String, String> httpHeaders, final InputStream inputStream) { this.annotations = annotations; this.mediaType = elementType; this.httpHeaders = httpHeaders; this.inputStream = inputStream; this.textLike = MediaTypeHelper.isTextLike(streamType); this.escape = streamType != null && streamType.toString().startsWith("application/x-stream-general"); }
public MediaType determineBestMediaType() { HttpServletRequest request = requestProvider.get(); String header = request.getHeader(HttpHeaderNames.ACCEPT); MediaType mediaType = null; if (header != null) { List<MediaType> headerMediaTypes = parseHeader(header); mediaType = headerMediaTypes.size() == 0 ? MediaType.TEXT_PLAIN_TYPE : getBestMatch(DESIRED_RESPONSE_TYPES, headerMediaTypes); } if (mediaType == null || (mediaType.getType().equals("*") && mediaType.getSubtype().equals("*"))) { mediaType = MediaType.APPLICATION_JSON_TYPE; } return mediaType; }
public static MediaType getBestMatch(List<MediaType> desired, List<MediaType> provided) { sortByWeight(desired); sortByWeight(provided); boolean emptyDesired = desired == null || desired.size() == 0; boolean emptyProvided = provided == null || provided.size() == 0; if (emptyDesired && emptyProvided) return null; if (emptyDesired && !emptyProvided) return provided.get(0); if (emptyProvided && !emptyDesired) return desired.get(0); for (MediaType desire : desired) { for (MediaType provide : provided) { if (provide.isCompatible(desire)) return provide; } } return null; }
MediaType mediaType = MediaTypeHelper.getConsumes(declaring, target); if(mediaType == null) mediaType = defaultConsumes;
@SuppressWarnings({"rawtypes", "unchecked"}) public int compareTo(Entry<?> entry) { int val = MediaTypeHelper.compareWeight(mediaType, entry.mediaType); if (val == 0 && object instanceof Comparable && entry.object instanceof Comparable) { return ((Comparable) object).compareTo(entry.object); } return val; } }
public static boolean equivalent(MediaType m1, MediaType m2) { if (m1 == m2) return true; if (!m1.getType().equals(m2.getType())) return false; if (!m1.getSubtype().equals(m2.getSubtype())) return false; return equivalentParams(m1, m2); }
@Override public List<MediaType> getAcceptableMediaTypes() { List<String> vals = requestHeaders.get(ACCEPT); if (vals == null || vals.isEmpty()) { return Collections.singletonList(MediaType.WILDCARD_TYPE); } else { List<MediaType> list = new ArrayList<MediaType>(); for (String v : vals) { StringTokenizer tokenizer = new StringTokenizer(v, ","); while (tokenizer.hasMoreElements()) { String item = tokenizer.nextToken().trim(); list.add(MediaType.valueOf(item)); } } MediaTypeHelper.sortByWeight(list); return Collections.unmodifiableList(list); } }
MediaType mediaType = MediaTypeHelper.getConsumes(declaring, target); if(mediaType == null) mediaType = defaultConsumes;
@SuppressWarnings({"rawtypes", "unchecked"}) public int compareTo(Entry<?> entry) { int val = MediaTypeHelper.compareWeight(mediaType, entry.mediaType); if (val == 0 && object instanceof Comparable && entry.object instanceof Comparable) { return ((Comparable) object).compareTo(entry.object); } return val; } }
public static boolean equivalent(MediaType m1, MediaType m2) { if (m1 == m2) return true; if (!m1.getType().equals(m2.getType())) return false; if (!m1.getSubtype().equals(m2.getSubtype())) return false; return equivalentParams(m1, m2); }
public static List<MediaType> extractAccepts(MultivaluedMap<String, String> requestHeaders) { List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>(); List<String> accepts = requestHeaders.get(HttpHeaderNames.ACCEPT); if (accepts == null) return acceptableMediaTypes; for (String accept : accepts) { acceptableMediaTypes.addAll(MediaTypeHelper.parseHeader(accept)); } return acceptableMediaTypes; }
public static MediaType getProduces(Class declaring, Method method) { return getProduces(declaring, method, null); }
protected BrowserCache.Entry getEntry(ClientRequestContext request) throws Exception { String uri = request.getUri().toString(); List<MediaType> acceptableMediaTypes = request.getAcceptableMediaTypes(); BrowserCache.Entry entry = null; if (acceptableMediaTypes.size() > 0) { for (MediaType accept : acceptableMediaTypes) { entry = cache.get(uri, accept); if (entry != null) return entry; if (MediaTypeHelper.isTextLike(accept)) { entry = cache.get(uri, accept.withCharset("UTF-8")); if (entry != null) return entry; } } } else { return cache.getAny(uri); } return null; }
MediaTypeHelper.sortByWeight(list); return list;
MediaType mediaType = MediaTypeHelper.getConsumes(declaring, target); if(mediaType == null) mediaType = defaultConsumes;
@SuppressWarnings({"rawtypes", "unchecked"}) public int compareTo(Entry<?> entry) { int val = MediaTypeHelper.compareWeight(mediaType, entry.mediaType); if (val == 0 && object instanceof Comparable && entry.object instanceof Comparable) { return ((Comparable) object).compareTo(entry.object); } return val; } }
public static boolean equivalent(MediaType m1, MediaType m2) { if (m1 == m2) return true; if (!m1.getType().equals(m2.getType())) return false; if (!m1.getSubtype().equals(m2.getSubtype())) return false; return equivalentParams(m1, m2); }
public static List<MediaType> extractAccepts(MultivaluedMap<String, String> requestHeaders) { List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>(); List<String> accepts = requestHeaders.get(HttpHeaderNames.ACCEPT); if (accepts == null) return acceptableMediaTypes; for (String accept : accepts) { acceptableMediaTypes.addAll(MediaTypeHelper.parseHeader(accept)); } return acceptableMediaTypes; }