add default implementations for Interceptor

This commit is contained in:
Andreas Marek
2020-09-15 02:15:37 +10:00
parent f2cf46989b
commit 59214d4c5b
3 changed files with 9 additions and 25 deletions

View File

@@ -1,24 +1,5 @@
package org.springframework.graphql;
import graphql.ExecutionInput;
import graphql.ExecutionResult;
import org.springframework.http.HttpHeaders;
import reactor.core.publisher.Mono;
public class DefaultGraphQLInterceptor implements GraphQLInterceptor {
@Override
public Mono<ExecutionInput> preHandle(ExecutionInput input, HttpHeaders headers) {
return Mono.just(input);
}
@Override
public Mono<ExecutionResult> postHandle(ExecutionResult result, HttpHeaders httpHeaders) {
return Mono.just(result);
}
@Override
public Mono<GraphQLResponseBody> customizeResponseBody(GraphQLResponseBody graphQLResponseBody, ExecutionResult executionResult, HttpHeaders httpHeader) {
return Mono.just(graphQLResponseBody);
}
}

View File

@@ -21,9 +21,6 @@ public class GraphQLHandler {
public Mono<GraphQLResponseBody> graphqlPOST(GraphQLRequestBody body, HttpHeaders httpHeaders) {
String query = body.getQuery();
if (query == null) {
query = "";
}
ExecutionInput input = ExecutionInput.newExecutionInput()
.query(query)
.operationName(body.getOperationName())

View File

@@ -7,10 +7,16 @@ import reactor.core.publisher.Mono;
public interface GraphQLInterceptor {
Mono<ExecutionInput> preHandle(ExecutionInput input, HttpHeaders headers);
default Mono<ExecutionInput> preHandle(ExecutionInput input, HttpHeaders headers) {
return Mono.just(input);
}
Mono<ExecutionResult> postHandle(ExecutionResult result, HttpHeaders httpHeaders);
default Mono<ExecutionResult> postHandle(ExecutionResult result, HttpHeaders httpHeaders) {
return Mono.just(result);
}
Mono<GraphQLResponseBody> customizeResponseBody(GraphQLResponseBody graphQLResponseBody, ExecutionResult executionResult, HttpHeaders httpHeader);
default Mono<GraphQLResponseBody> customizeResponseBody(GraphQLResponseBody graphQLResponseBody, ExecutionResult executionResult, HttpHeaders httpHeader) {
return Mono.just(graphQLResponseBody);
}
}