@@ -337,7 +337,7 @@ std::future<response::Value> ModifiedResult<Object>::convert(std::future<std::sh
337
337
: response::Type::Map);
338
338
}
339
339
340
- return wrappedResult->resolve (paramsFuture.requestId , *paramsFuture.selection , paramsFuture.fragments , paramsFuture.variables ).get ();
340
+ return wrappedResult->resolve (paramsFuture.state , *paramsFuture.selection , paramsFuture.fragments , paramsFuture.variables ).get ();
341
341
}, std::move (result), std::move (params));
342
342
}
343
343
@@ -347,21 +347,21 @@ Object::Object(TypeNames&& typeNames, ResolverMap&& resolvers)
347
347
{
348
348
}
349
349
350
- std::future<response::Value> Object::resolve (RequestId requestId , const peg::ast_node& selection, const FragmentMap& fragments, const response::Value& variables) const
350
+ std::future<response::Value> Object::resolve (const std::shared_ptr<RequestState>& state , const peg::ast_node& selection, const FragmentMap& fragments, const response::Value& variables) const
351
351
{
352
352
std::queue<std::future<response::Value>> selections;
353
353
354
- beginSelectionSet (requestId );
354
+ beginSelectionSet (state );
355
355
356
356
for (const auto & child : selection.children )
357
357
{
358
- SelectionVisitor visitor (requestId , fragments, variables, _typeNames, _resolvers);
358
+ SelectionVisitor visitor (state , fragments, variables, _typeNames, _resolvers);
359
359
360
360
visitor.visit (*child);
361
361
selections.push (visitor.getValues ());
362
362
}
363
363
364
- endSelectionSet (requestId );
364
+ endSelectionSet (state );
365
365
366
366
return std::async (std::launch::deferred,
367
367
[](std::queue<std::future<response::Value>>&& promises)
@@ -389,11 +389,11 @@ std::future<response::Value> Object::resolve(RequestId requestId, const peg::ast
389
389
}, std::move (selections));
390
390
}
391
391
392
- void Object::beginSelectionSet (RequestId ) const
392
+ void Object::beginSelectionSet (const std::shared_ptr<RequestState>& ) const
393
393
{
394
394
}
395
395
396
- void Object::endSelectionSet (RequestId ) const
396
+ void Object::endSelectionSet (const std::shared_ptr<RequestState>& ) const
397
397
{
398
398
}
399
399
@@ -402,7 +402,7 @@ Request::Request(TypeMap&& operationTypes)
402
402
{
403
403
}
404
404
405
- std::future<response::Value> Request::resolve (RequestId requestId , const peg::ast_node& root, const std::string& operationName, const response::Value& variables) const
405
+ std::future<response::Value> Request::resolve (std::shared_ptr<RequestState> state , const peg::ast_node& root, const std::string& operationName, const response::Value& variables) const
406
406
{
407
407
FragmentDefinitionVisitor fragmentVisitor;
408
408
@@ -413,7 +413,7 @@ std::future<response::Value> Request::resolve(RequestId requestId, const peg::as
413
413
});
414
414
415
415
auto fragments = fragmentVisitor.getFragments ();
416
- OperationDefinitionVisitor operationVisitor (requestId , _operations, operationName, variables, fragments);
416
+ OperationDefinitionVisitor operationVisitor (state , _operations, operationName, variables, fragments);
417
417
418
418
peg::for_each_child<peg::operation_definition>(root,
419
419
[&operationVisitor](const peg::ast_node& child)
@@ -424,8 +424,8 @@ std::future<response::Value> Request::resolve(RequestId requestId, const peg::as
424
424
return operationVisitor.getValue ();
425
425
}
426
426
427
- SelectionVisitor::SelectionVisitor (RequestId requestId , const FragmentMap& fragments, const response::Value& variables, const TypeNames& typeNames, const ResolverMap& resolvers)
428
- : _requestId(requestId )
427
+ SelectionVisitor::SelectionVisitor (const std::shared_ptr<RequestState>& state , const FragmentMap& fragments, const response::Value& variables, const TypeNames& typeNames, const ResolverMap& resolvers)
428
+ : _state(state )
429
429
, _fragments(fragments)
430
430
, _variables(variables)
431
431
, _typeNames(typeNames)
@@ -543,7 +543,7 @@ void SelectionVisitor::visitField(const peg::ast_node& field)
543
543
544
544
_values.push ({
545
545
std::move (alias),
546
- itr->second ({ _requestId , arguments, selection, _fragments, _variables })
546
+ itr->second ({ _state , arguments, selection, _fragments, _variables })
547
547
});
548
548
}
549
549
@@ -879,8 +879,8 @@ void FragmentDefinitionVisitor::visit(const peg::ast_node& fragmentDefinition)
879
879
_fragments.insert ({ fragmentDefinition.children .front ()->content (), Fragment (fragmentDefinition) });
880
880
}
881
881
882
- OperationDefinitionVisitor::OperationDefinitionVisitor (RequestId requestId , const TypeMap& operations, const std::string& operationName, const response::Value& variables, const FragmentMap& fragments)
883
- : _requestId(requestId )
882
+ OperationDefinitionVisitor::OperationDefinitionVisitor (const std::shared_ptr<RequestState>& state , const TypeMap& operations, const std::string& operationName, const response::Value& variables, const FragmentMap& fragments)
883
+ : _state(state )
884
884
, _operations(operations)
885
885
, _operationName(operationName)
886
886
, _variables(variables)
@@ -1045,7 +1045,7 @@ void OperationDefinitionVisitor::visit(const peg::ast_node& operationDefinition)
1045
1045
});
1046
1046
1047
1047
response::Value document (response::Type::Map);
1048
- auto data = operationObject->resolve (_requestId , *operationDefinition.children .back (), _fragments, operationVariables);
1048
+ auto data = operationObject->resolve (_state , *operationDefinition.children .back (), _fragments, operationVariables);
1049
1049
1050
1050
document.emplace_back (" data" , data.get ());
1051
1051
0 commit comments