List of usage examples for org.springframework.http MediaType includes
public boolean includes(@Nullable MediaType other)
From source file:morph.plugin.views.annotation.ServletAnnotationMappingUtils.java
/** * Check whether the given request matches the specified header conditions. * @param headers the header conditions, following * {@link org.springframework.web.bind.annotation.RequestMapping#headers() RequestMapping.headers()} * @param request the current HTTP request to check */// www.j a v a 2 s . c om public static boolean checkHeaders(String[] headers, HttpServletRequest request) { if (!ObjectUtils.isEmpty(headers)) { for (String header : headers) { int separator = header.indexOf('='); if (separator == -1) { if (header.startsWith("!")) { if (request.getHeader(header.substring(1)) != null) { return false; } } else if (request.getHeader(header) == null) { return false; } } else { boolean negated = separator > 0 && header.charAt(separator - 1) == '!'; String key = !negated ? header.substring(0, separator) : header.substring(0, separator - 1); String value = header.substring(separator + 1); if (isMediaTypeHeader(key)) { List<MediaType> requestMediaTypes = MediaType.parseMediaTypes(request.getHeader(key)); List<MediaType> valueMediaTypes = MediaType.parseMediaTypes(value); boolean found = false; for (Iterator<MediaType> valIter = valueMediaTypes.iterator(); valIter.hasNext() && !found;) { MediaType valueMediaType = valIter.next(); for (Iterator<MediaType> reqIter = requestMediaTypes.iterator(); reqIter.hasNext() && !found;) { MediaType requestMediaType = reqIter.next(); if (valueMediaType.includes(requestMediaType)) { found = true; } } } if (!found) { return negated; } } else if (!value.equals(request.getHeader(key))) { return negated; } } } } return true; }
From source file:com.icl.integrator.util.patch.ServletAnnotationMappingUtils.java
/** * Check whether the given request matches the specified header conditions. * @param headers the header conditions, following * {@link org.springframework.web.bind.annotation.RequestMapping#headers() RequestMapping.headers()} * @param request the current HTTP request to check *//* w ww . j av a 2s . co m*/ public static boolean checkHeaders(String[] headers, HttpServletRequest request) { if (!ObjectUtils.isEmpty(headers)) { for (String header : headers) { int separator = header.indexOf('='); if (separator == -1) { if (header.startsWith("!")) { if (request.getHeader(header.substring(1)) != null) { return false; } } else if (request.getHeader(header) == null) { return false; } } else { boolean negated = (separator > 0 && header.charAt(separator - 1) == '!'); String key = !negated ? header.substring(0, separator) : header.substring(0, separator - 1); String value = header.substring(separator + 1); if (isMediaTypeHeader(key)) { List<MediaType> requestMediaTypes = MediaType.parseMediaTypes(request.getHeader(key)); List<MediaType> valueMediaTypes = MediaType.parseMediaTypes(value); boolean found = false; for (Iterator<MediaType> valIter = valueMediaTypes.iterator(); valIter.hasNext() && !found;) { MediaType valueMediaType = valIter.next(); for (Iterator<MediaType> reqIter = requestMediaTypes.iterator(); reqIter.hasNext() && !found;) { MediaType requestMediaType = reqIter.next(); if (valueMediaType.includes(requestMediaType)) { found = true; } } } if (negated) { found = !found; } if (!found) { return false; } } else { boolean match = value.equals(request.getHeader(key)); if (negated) { match = !match; } if (!match) { return false; } } } } } return true; }
From source file:org.cloudfoundry.identity.uaa.error.JsonAwareAccessDeniedHandler.java
@Override public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException authException) throws IOException, ServletException { String accept = request.getHeader("Accept"); boolean json = false; if (StringUtils.hasText(accept)) { for (MediaType mediaType : MediaType.parseMediaTypes(accept)) { if (mediaType.includes(MediaType.APPLICATION_JSON)) { json = true;// ww w. j av a 2s.c o m break; } } } if (json) { response.setStatus(HttpServletResponse.SC_FORBIDDEN); response.setContentType(MediaType.APPLICATION_JSON_VALUE); response.getWriter().append(String.format("{\"error\":\"%s\"}", authException.getMessage())); } else { response.sendError(HttpServletResponse.SC_FORBIDDEN, authException.getMessage()); } }
From source file:capital.scalable.restdocs.response.JsonContentModifier.java
@Override public byte[] modifyContent(byte[] originalContent, MediaType contentType) { if (originalContent.length > 0 && contentType != null && contentType.includes(APPLICATION_JSON)) { return modifyContent(originalContent); } else {/*from w w w. j a v a 2s . c om*/ return originalContent; } }
From source file:org.cloudfoundry.identity.uaa.error.JsonAwareAuthenticationEntryPoint.java
@Override public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException { response.addHeader("WWW-Authenticate", String.format("%s realm=\"%s\"", typeName, realmName)); String accept = request.getHeader("Accept"); boolean json = false; if (StringUtils.hasText(accept)) { for (MediaType mediaType : MediaType.parseMediaTypes(accept)) { if (mediaType.includes(MediaType.APPLICATION_JSON)) { json = true;/*from w ww . j a v a 2s . co m*/ break; } } } if (json) { response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); response.setContentType(MediaType.APPLICATION_JSON_VALUE); response.getWriter().append(String.format("{\"error\":\"%s\"}", authException.getMessage())); } else { response.sendError(HttpServletResponse.SC_UNAUTHORIZED, authException.getMessage()); } }
From source file:capital.scalable.restdocs.response.BinaryReplacementContentModifier.java
@Override public byte[] modifyContent(byte[] originalContent, MediaType contentType) { if (originalContent.length > 0 && contentType != null) { for (MediaType type : BINARY_ENUM_TYPES) { if (contentType.includes(type)) { return replacementText(); }// w w w . j a v a 2s . co m } } return originalContent; }
From source file:org.jasig.portlet.courses.dao.xml.Jaxb2CourseSummaryHttpMessageConverter.java
protected boolean isSupported(MediaType mediaType) { if (mediaType == null) { return true; }//from w w w . j a v a2 s.c o m for (MediaType supportedMediaType : getSupportedMediaTypes()) { if (supportedMediaType.includes(mediaType)) { return true; } } return false; }
From source file:org.bremersee.common.web.client.ResponseErrorHandlerImpl.java
/** * Find a throwable instance of the HTTP response. * * @param response the HTTP response/*from w w w . j a va 2 s .c o m*/ * @return the throwable * @throws IOException if the response cannot be parsed */ protected Throwable findThrowable(final ClientHttpResponse response) throws IOException { final MediaType contentType = response.getHeaders().getContentType(); try { if (contentType.includes(MediaType.APPLICATION_XML)) { return findThrowableFromXml(response); } else { return findThrowableFromJson(response); } } catch (RuntimeException re) { // NOSONAR return findThrowableByStatusCode(response); } }
From source file:com.predic8.membrane.core.http.Header.java
/** * Tries to determines the index of the best content type. *///from w w w.j a va 2s.c o m public int getBestAcceptedType(MediaType[] supported) { String accept = getFirstValue(ACCEPT); if (accept == null) return -1; List<MediaType> m; try { m = MediaType.parseMediaTypes(accept); } catch (IllegalArgumentException e) { return -1; } MediaType.sortByQualityValue(m); for (MediaType t : m) for (int i = 0; i < supported.length; i++) if (t.includes(supported[i])) return i; return -1; }
From source file:com.httpMessageConvert.FormHttpMessageConverter.java
public boolean canRead(Class<?> clazz, MediaType mediaType) { System.out.println("----------------coming ------------"); if (mediaType == null) { return true; }// ww w . j a va2 s. c om for (MediaType supportedMediaType : getSupportedMediaTypes()) { // we can't read multipart if (!supportedMediaType.equals(MediaType.MULTIPART_FORM_DATA) && supportedMediaType.includes(mediaType)) { return true; } } return false; }