|
1 | 1 | package graphql.servlet; |
2 | 2 |
|
| 3 | +import java.util.List; |
| 4 | +import java.util.Optional; |
| 5 | + |
| 6 | +import javax.servlet.http.HttpServletRequest; |
| 7 | +import javax.servlet.http.HttpServletResponse; |
| 8 | + |
3 | 9 | import graphql.execution.ExecutionStrategy; |
4 | 10 | import graphql.execution.instrumentation.Instrumentation; |
5 | 11 | import graphql.execution.instrumentation.SimpleInstrumentation; |
6 | 12 | import graphql.execution.preparsed.NoOpPreparsedDocumentProvider; |
7 | 13 | import graphql.execution.preparsed.PreparsedDocumentProvider; |
8 | 14 | import graphql.schema.GraphQLSchema; |
9 | 15 |
|
10 | | -import javax.servlet.http.HttpServletRequest; |
11 | | -import javax.servlet.http.HttpServletResponse; |
12 | | -import java.util.List; |
13 | | -import java.util.Optional; |
14 | | - |
15 | 16 | /** |
16 | 17 | * @author Andrew Potter |
17 | 18 | */ |
18 | 19 | public class SimpleGraphQLServlet extends GraphQLServlet { |
| 20 | + |
19 | 21 |
|
20 | 22 | /** |
21 | 23 | * @deprecated use {@link #builder(GraphQLSchema)} instead. |
@@ -46,15 +48,16 @@ public SimpleGraphQLServlet(GraphQLSchema schema, ExecutionStrategyProvider exec |
46 | 48 | */ |
47 | 49 | @Deprecated |
48 | 50 | public SimpleGraphQLServlet(final GraphQLSchema schema, ExecutionStrategyProvider executionStrategyProvider, ObjectMapperConfigurer objectMapperConfigurer, List<GraphQLServletListener> listeners, Instrumentation instrumentation, GraphQLErrorHandler errorHandler, GraphQLContextBuilder contextBuilder, GraphQLRootObjectBuilder rootObjectBuilder, PreparsedDocumentProvider preparsedDocumentProvider) { |
49 | | - this(new DefaultGraphQLSchemaProvider(schema), executionStrategyProvider, objectMapperConfigurer, listeners, instrumentation, errorHandler, contextBuilder, rootObjectBuilder, preparsedDocumentProvider); |
| 51 | + this(new DefaultGraphQLSchemaProvider(schema), executionStrategyProvider, objectMapperConfigurer, listeners, instrumentation, errorHandler, contextBuilder, rootObjectBuilder, preparsedDocumentProvider,false); |
50 | 52 | } |
51 | 53 |
|
| 54 | + |
52 | 55 | /** |
53 | 56 | * @deprecated use {@link #builder(GraphQLSchemaProvider)} instead. |
54 | 57 | */ |
55 | 58 | @Deprecated |
56 | | - public SimpleGraphQLServlet(GraphQLSchemaProvider schemaProvider, ExecutionStrategyProvider executionStrategyProvider, ObjectMapperConfigurer objectMapperConfigurer, List<GraphQLServletListener> listeners, Instrumentation instrumentation, GraphQLErrorHandler errorHandler, GraphQLContextBuilder contextBuilder, GraphQLRootObjectBuilder rootObjectBuilder, PreparsedDocumentProvider preparsedDocumentProvider) { |
57 | | - super(objectMapperConfigurer, listeners); |
| 59 | + public SimpleGraphQLServlet(GraphQLSchemaProvider schemaProvider, ExecutionStrategyProvider executionStrategyProvider, ObjectMapperConfigurer objectMapperConfigurer, List<GraphQLServletListener> listeners, Instrumentation instrumentation, GraphQLErrorHandler errorHandler, GraphQLContextBuilder contextBuilder, GraphQLRootObjectBuilder rootObjectBuilder, PreparsedDocumentProvider preparsedDocumentProvider, boolean asyncServletMode) { |
| 60 | + super(objectMapperConfigurer, listeners, asyncServletMode); |
58 | 61 |
|
59 | 62 | this.schemaProvider = schemaProvider; |
60 | 63 | this.executionStrategyProvider = executionStrategyProvider; |
@@ -91,7 +94,7 @@ public SimpleGraphQLServlet(GraphQLSchemaProvider schemaProvider, ExecutionStrat |
91 | 94 | } |
92 | 95 |
|
93 | 96 | protected SimpleGraphQLServlet(Builder builder) { |
94 | | - super(builder.objectMapperConfigurer, builder.listeners); |
| 97 | + super(builder.objectMapperConfigurer, builder.listeners, builder.asyncServletMode); |
95 | 98 |
|
96 | 99 | this.schemaProvider = builder.schemaProvider; |
97 | 100 | this.executionStrategyProvider = builder.executionStrategyProvider; |
@@ -136,6 +139,7 @@ public static class Builder { |
136 | 139 | private GraphQLContextBuilder contextBuilder = new DefaultGraphQLContextBuilder(); |
137 | 140 | private GraphQLRootObjectBuilder rootObjectBuilder = new DefaultGraphQLRootObjectBuilder(); |
138 | 141 | private PreparsedDocumentProvider preparsedDocumentProvider = NoOpPreparsedDocumentProvider.INSTANCE; |
| 142 | + private boolean asyncServletMode; |
139 | 143 |
|
140 | 144 | public Builder(GraphQLSchema schema) { |
141 | 145 | this(new DefaultGraphQLSchemaProvider(schema)); |
@@ -184,6 +188,11 @@ public Builder withListeners(List<GraphQLServletListener> listeners) { |
184 | 188 | this.listeners = listeners; |
185 | 189 | return this; |
186 | 190 | } |
| 191 | + |
| 192 | + public Builder withAsyncServletMode(boolean value) { |
| 193 | + this.asyncServletMode=value; |
| 194 | + return this; |
| 195 | + } |
187 | 196 |
|
188 | 197 | public SimpleGraphQLServlet build() { |
189 | 198 | return new SimpleGraphQLServlet(this); |
|
0 commit comments