refactoring
This commit is contained in:
@@ -34,18 +34,19 @@ public class GraphQLHandler {
|
||||
return executionInput
|
||||
.flatMap(this::execute)
|
||||
.flatMap(result -> interceptor.postHandle(result, graphQLHttpRequest.getHttpHeaders(), requestParams))
|
||||
.flatMap(result -> toResponseBody(result, graphQLHttpRequest.getHttpHeaders(), requestParams));
|
||||
.flatMap(result -> toResponseBody(result, graphQLHttpRequest));
|
||||
}
|
||||
|
||||
private Mono<GraphQLHttpResponse> toResponseBody(ExecutionResult executionResult, HttpHeaders httpHeaders, MultiValueMap<String, String> requestParams) {
|
||||
private Mono<GraphQLHttpResponse> toResponseBody(ExecutionResult executionResult, GraphQLHttpRequest graphQLHttpRequest) {
|
||||
Map<String, Object> responseBodyRaw = executionResult.toSpecification();
|
||||
Object data = responseBodyRaw.get("data");
|
||||
List<Map<String, Object>> errors = (List<Map<String, Object>>) responseBodyRaw.get("errors");
|
||||
Map<String, Object> extensions = (Map<String, Object>) responseBodyRaw.get("extensions");
|
||||
GraphQLHttpResponse responseBody = new GraphQLHttpResponse(data,
|
||||
errors,
|
||||
extensions, httpHeaders);
|
||||
Mono<GraphQLHttpResponse> graphQLResponseBodyMono = interceptor.customizeResponseBody(responseBody, executionResult, httpHeaders, requestParams);
|
||||
extensions,
|
||||
new HttpHeaders());
|
||||
Mono<GraphQLHttpResponse> graphQLResponseBodyMono = interceptor.customizeGraphQLHttpResponse(responseBody, executionResult, graphQLHttpRequest);
|
||||
return graphQLResponseBodyMono;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,10 +20,10 @@ public interface GraphQLInterceptor {
|
||||
return Mono.just(result);
|
||||
}
|
||||
|
||||
default Mono<GraphQLHttpResponse> customizeResponseBody(GraphQLHttpResponse graphQLHttpResponse,
|
||||
ExecutionResult executionResult,
|
||||
HttpHeaders httpHeader,
|
||||
MultiValueMap<String, String> requestParams) {
|
||||
default Mono<GraphQLHttpResponse> customizeGraphQLHttpResponse(GraphQLHttpResponse graphQLHttpResponse,
|
||||
ExecutionResult executionResult,
|
||||
GraphQLHttpRequest graphQLHttpRequest) {
|
||||
|
||||
return Mono.just(graphQLHttpResponse);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user