1818import java .util .function .Consumer ;
1919import java .util .function .Function ;
2020import java .util .stream .Collectors ;
21- import javax .servlet .AsyncContext ;
2221import javax .servlet .Servlet ;
2322import javax .servlet .http .HttpServlet ;
2423import javax .servlet .http .HttpServletRequest ;
@@ -135,59 +134,38 @@ public String executeQuery(String query) {
135134 }
136135 }
137136
138- private void doRequestAsync (HttpServletRequest request , HttpServletResponse response ,
139- HttpRequestHandler handler ) {
140- if (configuration .isAsyncServletModeEnabled ()) {
141- AsyncContext asyncContext = request .startAsync (request , response );
142- asyncContext .setTimeout (configuration .getAsyncTimeout ());
143- HttpServletRequest asyncRequest = (HttpServletRequest ) asyncContext .getRequest ();
144- HttpServletResponse asyncResponse = (HttpServletResponse ) asyncContext .getResponse ();
145- configuration .getAsyncExecutor ()
146- .execute (() -> doRequest (asyncRequest , asyncResponse , handler , asyncContext ));
147- } else {
148- doRequest (request , response , handler , null );
149- }
137+ @ Override
138+ protected void doGet (HttpServletRequest req , HttpServletResponse resp ) {
139+ doRequest (req , resp );
150140 }
151141
152- private void doRequest (HttpServletRequest request , HttpServletResponse response ,
153- HttpRequestHandler handler ,
154- AsyncContext asyncContext ) {
142+ @ Override
143+ protected void doPost (HttpServletRequest req , HttpServletResponse resp ) {
144+ doRequest (req , resp );
145+ }
155146
147+ private void doRequest (HttpServletRequest request , HttpServletResponse response ) {
148+ init ();
156149 List <GraphQLServletListener .RequestCallback > requestCallbacks = runListeners (
157150 l -> l .onRequest (request , response ));
158151
159152 try {
160- handler .handle (request , response );
153+ requestHandler .handle (request , response );
161154 runCallbacks (requestCallbacks , c -> c .onSuccess (request , response ));
162- } catch (Throwable t ) {
155+ } catch (Exception t ) {
163156 log .error ("Error executing GraphQL request!" , t );
164157 runCallbacks (requestCallbacks , c -> c .onError (request , response , t ));
165158 } finally {
166159 runCallbacks (requestCallbacks , c -> c .onFinally (request , response ));
167- if (asyncContext != null ) {
168- asyncContext .complete ();
169- }
170160 }
171161 }
172162
173- @ Override
174- protected void doGet (HttpServletRequest req , HttpServletResponse resp ) {
175- init ();
176- doRequestAsync (req , resp , requestHandler );
177- }
178-
179- @ Override
180- protected void doPost (HttpServletRequest req , HttpServletResponse resp ) {
181- init ();
182- doRequestAsync (req , resp , requestHandler );
183- }
184-
185163 private <R > List <R > runListeners (Function <? super GraphQLServletListener , R > action ) {
186164 return configuration .getListeners ().stream ()
187165 .map (listener -> {
188166 try {
189167 return action .apply (listener );
190- } catch (Throwable t ) {
168+ } catch (Exception t ) {
191169 log .error ("Error running listener: {}" , listener , t );
192170 return null ;
193171 }
@@ -200,7 +178,7 @@ private <T> void runCallbacks(List<T> callbacks, Consumer<T> action) {
200178 callbacks .forEach (callback -> {
201179 try {
202180 action .accept (callback );
203- } catch (Throwable t ) {
181+ } catch (Exception t ) {
204182 log .error ("Error running callback: {}" , callback , t );
205183 }
206184 });
0 commit comments