committed by
Brian Clozel
parent
00c53ecc62
commit
dd1a6933dd
@@ -52,6 +52,7 @@ public abstract class AbstractGraphQlHttpHandler {
|
||||
|
||||
protected final Log logger = LogFactory.getLog(getClass());
|
||||
|
||||
private static final MediaType APPLICATION_GRAPHQL = MediaType.parseMediaType("application/graphql");
|
||||
|
||||
private final WebGraphQlHandler graphQlHandler;
|
||||
|
||||
@@ -118,10 +119,9 @@ public abstract class AbstractGraphQlHttpHandler {
|
||||
String contentTypeHeader = request.headers().firstHeader(HttpHeaders.CONTENT_TYPE);
|
||||
if (StringUtils.hasText(contentTypeHeader)) {
|
||||
MediaType contentType = MediaType.parseMediaType(contentTypeHeader);
|
||||
MediaType applicationGraphQl = MediaType.parseMediaType("application/graphql");
|
||||
|
||||
// Spec requires application/json but some clients still use application/graphql
|
||||
return applicationGraphQl.includes(contentType) ? ServerRequest.from(request)
|
||||
return APPLICATION_GRAPHQL.includes(contentType) ? ServerRequest.from(request)
|
||||
.headers((headers) -> headers.setContentType(MediaType.APPLICATION_JSON))
|
||||
.body(request.bodyToFlux(DataBuffer.class))
|
||||
.build()
|
||||
|
||||
@@ -73,6 +73,8 @@ public final class GraphQlRequestPredicates {
|
||||
|
||||
private static class GraphQlHttpRequestPredicate implements RequestPredicate {
|
||||
|
||||
private static final MediaType APPLICATION_GRAPHQL = MediaType.parseMediaType("application/graphql");
|
||||
|
||||
private final PathPattern pattern;
|
||||
|
||||
private final List<MediaType> contentTypes;
|
||||
@@ -86,7 +88,7 @@ public final class GraphQlRequestPredicates {
|
||||
PathPatternParser parser = PathPatternParser.defaultInstance;
|
||||
path = parser.initFullPathPattern(path);
|
||||
this.pattern = parser.parse(path);
|
||||
this.contentTypes = List.of(MediaType.APPLICATION_JSON, MediaType.parseMediaType("application/graphql"));
|
||||
this.contentTypes = List.of(MediaType.APPLICATION_JSON, APPLICATION_GRAPHQL);
|
||||
this.acceptedMediaTypes = accepted;
|
||||
}
|
||||
|
||||
|
||||
@@ -67,6 +67,8 @@ public abstract class AbstractGraphQlHttpHandler {
|
||||
|
||||
protected final Log logger = LogFactory.getLog(getClass());
|
||||
|
||||
private static final MediaType APPLICATION_GRAPHQL = MediaType.parseMediaType("application/graphql");
|
||||
|
||||
private final IdGenerator idGenerator = new AlternativeJdkIdGenerator();
|
||||
|
||||
private final WebGraphQlHandler graphQlHandler;
|
||||
@@ -174,9 +176,8 @@ public abstract class AbstractGraphQlHttpHandler {
|
||||
String contentTypeHeader = request.headers().firstHeader(HttpHeaders.CONTENT_TYPE);
|
||||
if (StringUtils.hasText(contentTypeHeader)) {
|
||||
MediaType contentType = MediaType.parseMediaType(contentTypeHeader);
|
||||
MediaType applicationGraphQl = MediaType.parseMediaType("application/graphql");
|
||||
// Spec requires application/json but some clients still use application/graphql
|
||||
if (applicationGraphQl.includes(contentType)) {
|
||||
if (APPLICATION_GRAPHQL.includes(contentType)) {
|
||||
try {
|
||||
request = ServerRequest.from(request)
|
||||
.headers((headers) -> headers.setContentType(MediaType.APPLICATION_JSON))
|
||||
|
||||
@@ -73,6 +73,8 @@ public final class GraphQlRequestPredicates {
|
||||
|
||||
private static class GraphQlHttpRequestPredicate implements RequestPredicate {
|
||||
|
||||
private static final MediaType APPLICATION_GRAPHQL = MediaType.parseMediaType("application/graphql");
|
||||
|
||||
private final PathPattern pattern;
|
||||
|
||||
private final List<MediaType> contentTypes;
|
||||
@@ -86,7 +88,7 @@ public final class GraphQlRequestPredicates {
|
||||
PathPatternParser parser = PathPatternParser.defaultInstance;
|
||||
path = parser.initFullPathPattern(path);
|
||||
this.pattern = parser.parse(path);
|
||||
this.contentTypes = List.of(MediaType.APPLICATION_JSON, MediaType.parseMediaType("application/graphql"));
|
||||
this.contentTypes = List.of(MediaType.APPLICATION_JSON, APPLICATION_GRAPHQL);
|
||||
this.acceptedMediaTypes = accepted;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user