44
55import graphql .kickstart .execution .context .GraphQLKickstartContext ;
66import graphql .kickstart .servlet .context .GraphQLServletContextBuilder ;
7+ import java .util .HashMap ;
8+ import java .util .Map ;
79import javax .servlet .http .HttpServletRequest ;
810import javax .servlet .http .HttpServletResponse ;
911import javax .websocket .Session ;
1012import javax .websocket .server .HandshakeRequest ;
1113import org .dataloader .DataLoader ;
14+ import org .dataloader .DataLoaderFactory ;
1215import org .dataloader .DataLoaderRegistry ;
1316import org .springframework .stereotype .Component ;
1417
@@ -22,8 +25,11 @@ public CustomGraphQLContextBuilder(CustomerRepository customerRepository) {
2225 }
2326
2427 @ Override
25- public GraphQLKickstartContext build (HttpServletRequest req , HttpServletResponse response ) {
26- return GraphQLKickstartContext .of (buildDataLoaderRegistry ());
28+ public GraphQLKickstartContext build (HttpServletRequest request , HttpServletResponse response ) {
29+ Map <Object , Object > map = new HashMap <>();
30+ map .put (HttpServletRequest .class , request );
31+ map .put (HttpServletResponse .class , response );
32+ return GraphQLKickstartContext .of (buildDataLoaderRegistry (), map );
2733 }
2834
2935 @ Override
@@ -32,14 +38,17 @@ public GraphQLKickstartContext build() {
3238 }
3339
3440 @ Override
35- public GraphQLKickstartContext build (Session session , HandshakeRequest request ) {
36- return GraphQLKickstartContext .of (buildDataLoaderRegistry ());
41+ public GraphQLKickstartContext build (Session session , HandshakeRequest handshakeRequest ) {
42+ Map <Object , Object > map = new HashMap <>();
43+ map .put (Session .class , session );
44+ map .put (HandshakeRequest .class , handshakeRequest );
45+ return GraphQLKickstartContext .of (buildDataLoaderRegistry (), map );
3746 }
3847
3948 private DataLoaderRegistry buildDataLoaderRegistry () {
4049 DataLoaderRegistry dataLoaderRegistry = new DataLoaderRegistry ();
4150 DataLoader <Integer , String > customerLoader =
42- new DataLoader <> (
51+ DataLoaderFactory . newDataLoader (
4352 customerIds -> supplyAsync (() -> customerRepository .getUserNamesForIds (customerIds )));
4453 dataLoaderRegistry .register ("customerDataLoader" , customerLoader );
4554 return dataLoaderRegistry ;
0 commit comments