@Override public List<MediaType> resolveMediaTypes(NativeWebRequest request) throws HttpMediaTypeNotAcceptableException { for (ContentNegotiationStrategy strategy : this.strategies) { List<MediaType> mediaTypes = strategy.resolveMediaTypes(request); if (mediaTypes.equals(MEDIA_TYPE_ALL_LIST)) { continue; } return mediaTypes; } return MEDIA_TYPE_ALL_LIST; }
@Override public List<MediaType> resolveMediaTypes(NativeWebRequest request) throws HttpMediaTypeNotAcceptableException { for (ContentNegotiationStrategy strategy : this.strategies) { List<MediaType> mediaTypes = strategy.resolveMediaTypes(request); if (mediaTypes.equals(MEDIA_TYPE_ALL_LIST)) { continue; } return mediaTypes; } return MEDIA_TYPE_ALL_LIST; }
@Test public void getWhenCustomContentNegotiationStrategyThenStrategyIsUsed() throws Exception { this.spring.register(OverrideContentNegotiationStrategySharedObjectConfig.class, DefaultSecurityConfig.class).autowire(); this.mvc.perform(get("/")); verify(OverrideContentNegotiationStrategySharedObjectConfig.CNS, atLeastOnce()) .resolveMediaTypes(any(NativeWebRequest.class)); }
@Override public List<MediaType> resolveMediaTypes(NativeWebRequest request) throws HttpMediaTypeNotAcceptableException { for (ContentNegotiationStrategy strategy : this.strategies) { List<MediaType> mediaTypes = strategy.resolveMediaTypes(request); if (mediaTypes.equals(MEDIA_TYPE_ALL_LIST)) { continue; } return mediaTypes; } return MEDIA_TYPE_ALL_LIST; }
@Override public List<MediaType> resolveMediaTypes(NativeWebRequest request) throws HttpMediaTypeNotAcceptableException { for (ContentNegotiationStrategy strategy : this.strategies) { List<MediaType> mediaTypes = strategy.resolveMediaTypes(request); if (mediaTypes.equals(MEDIA_TYPE_ALL_LIST)) { continue; } return mediaTypes; } return MEDIA_TYPE_ALL_LIST; }
@Override @Nonnull public List<MediaType> resolveMediaTypes(final NativeWebRequest request) throws HttpMediaTypeNotAcceptableException { final List<MediaType> mediaTypes = delegate.resolveMediaTypes(request); if (mediaTypes.isEmpty()) { return all; } return mediaTypes; }
@Override @Nonnull public List<MediaType> resolveMediaTypes(final NativeWebRequest request) throws HttpMediaTypeNotAcceptableException { final List<MediaType> mediaTypes = delegate.resolveMediaTypes(request); if (mediaTypes.isEmpty()) { return all; } return mediaTypes; }
@SneakyThrows(HttpMediaTypeNotAcceptableException.class) default Optional<MediaType> negotiate(final NativeWebRequest request) { final ContentNegotiationStrategy negotiator = ContentNegotiation.DEFAULT; final List<MediaType> mediaTypes = negotiator.resolveMediaTypes(request); return AdviceTraits.getProblemMediaType(mediaTypes); }
@Override public List<MediaType> resolveMediaTypes(NativeWebRequest webRequest) throws HttpMediaTypeNotAcceptableException { List<ContentNegotiationStrategy> strategies = GeoServerExtensions.extensions(ContentNegotiationStrategy.class); List<MediaType> mediaTypes; for (ContentNegotiationStrategy strategy : strategies) { if (!(strategy instanceof ContentNegotiationManager || strategy instanceof DelegatingContentNegotiationStrategy)) { mediaTypes = strategy.resolveMediaTypes(webRequest); if (mediaTypes.size() > 0) { return mediaTypes; } } } return new ArrayList<>(); } }
@SneakyThrows(HttpMediaTypeNotAcceptableException.class) default Optional<MediaType> negotiate(final NativeWebRequest request) { final ContentNegotiationStrategy negotiator = ContentNegotiation.DEFAULT; final List<MediaType> mediaTypes = negotiator.resolveMediaTypes(request); for (final MediaType mediaType : mediaTypes) { if (mediaType.includes(APPLICATION_JSON) || mediaType.includes(PROBLEM)) { return Optional.of(PROBLEM); } else if (mediaType.includes(X_PROBLEM)) { return Optional.of(X_PROBLEM); } } return Optional.empty(); }
try { httpRequestMediaTypes = this.contentNegotiationStrategy .resolveMediaTypes(new ServletWebRequest(request));