Skip to content

Commit 4d69e0f

Browse files
committed
Replace service::RequestId with service::RequestState #19
1 parent 561f1ad commit 4d69e0f

13 files changed

+356
-342
lines changed

GraphQLService.cpp

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ std::future<response::Value> ModifiedResult<Object>::convert(std::future<std::sh
337337
: response::Type::Map);
338338
}
339339

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();
341341
}, std::move(result), std::move(params));
342342
}
343343

@@ -347,21 +347,21 @@ Object::Object(TypeNames&& typeNames, ResolverMap&& resolvers)
347347
{
348348
}
349349

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
351351
{
352352
std::queue<std::future<response::Value>> selections;
353353

354-
beginSelectionSet(requestId);
354+
beginSelectionSet(state);
355355

356356
for (const auto& child : selection.children)
357357
{
358-
SelectionVisitor visitor(requestId, fragments, variables, _typeNames, _resolvers);
358+
SelectionVisitor visitor(state, fragments, variables, _typeNames, _resolvers);
359359

360360
visitor.visit(*child);
361361
selections.push(visitor.getValues());
362362
}
363363

364-
endSelectionSet(requestId);
364+
endSelectionSet(state);
365365

366366
return std::async(std::launch::deferred,
367367
[](std::queue<std::future<response::Value>>&& promises)
@@ -389,11 +389,11 @@ std::future<response::Value> Object::resolve(RequestId requestId, const peg::ast
389389
}, std::move(selections));
390390
}
391391

392-
void Object::beginSelectionSet(RequestId) const
392+
void Object::beginSelectionSet(const std::shared_ptr<RequestState>&) const
393393
{
394394
}
395395

396-
void Object::endSelectionSet(RequestId) const
396+
void Object::endSelectionSet(const std::shared_ptr<RequestState>&) const
397397
{
398398
}
399399

@@ -402,7 +402,7 @@ Request::Request(TypeMap&& operationTypes)
402402
{
403403
}
404404

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
406406
{
407407
FragmentDefinitionVisitor fragmentVisitor;
408408

@@ -413,7 +413,7 @@ std::future<response::Value> Request::resolve(RequestId requestId, const peg::as
413413
});
414414

415415
auto fragments = fragmentVisitor.getFragments();
416-
OperationDefinitionVisitor operationVisitor(requestId, _operations, operationName, variables, fragments);
416+
OperationDefinitionVisitor operationVisitor(state, _operations, operationName, variables, fragments);
417417

418418
peg::for_each_child<peg::operation_definition>(root,
419419
[&operationVisitor](const peg::ast_node& child)
@@ -424,8 +424,8 @@ std::future<response::Value> Request::resolve(RequestId requestId, const peg::as
424424
return operationVisitor.getValue();
425425
}
426426

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)
429429
, _fragments(fragments)
430430
, _variables(variables)
431431
, _typeNames(typeNames)
@@ -543,7 +543,7 @@ void SelectionVisitor::visitField(const peg::ast_node& field)
543543

544544
_values.push({
545545
std::move(alias),
546-
itr->second({ _requestId, arguments, selection, _fragments, _variables })
546+
itr->second({ _state, arguments, selection, _fragments, _variables })
547547
});
548548
}
549549

@@ -879,8 +879,8 @@ void FragmentDefinitionVisitor::visit(const peg::ast_node& fragmentDefinition)
879879
_fragments.insert({ fragmentDefinition.children.front()->content(), Fragment(fragmentDefinition) });
880880
}
881881

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)
884884
, _operations(operations)
885885
, _operationName(operationName)
886886
, _variables(variables)
@@ -1045,7 +1045,7 @@ void OperationDefinitionVisitor::visit(const peg::ast_node& operationDefinition)
10451045
});
10461046

10471047
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);
10491049

10501050
document.emplace_back("data", data.get());
10511051

0 commit comments

Comments
 (0)