Skip to content
This repository was archived by the owner on Mar 29, 2020. It is now read-only.

Commit 661f6cb

Browse files
committed
use Source/Parser instead of ExecutorContext
1 parent cde4caf commit 661f6cb

File tree

2 files changed

+9
-159
lines changed

2 files changed

+9
-159
lines changed

src/Context.php

Lines changed: 0 additions & 143 deletions
This file was deleted.

src/Traits/RelayMiddleware.php

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
namespace Nuwave\Relay\Traits;
44

55
use Illuminate\Http\Request;
6-
use Nuwave\Relay\Context;
6+
use GraphQL\Language\Source;
7+
use GraphQL\Language\Parser;
78

89
trait RelayMiddleware
910
{
@@ -23,26 +24,18 @@ trait RelayMiddleware
2324
public function queryMiddleware(Request $request)
2425
{
2526
$relay = app('relay');
26-
$schema = app('graphql')->schema();
27-
$query = $request->get('query');
28-
$params = $request->get('variables');
27+
$source = new Source($request->get('query', 'GraphQL request'));
28+
$ast = Parser::parse($source);
2929

30-
if (is_string($params)) {
31-
$params = json_decode($params, true);
32-
}
33-
34-
if ($context = Context::get($schema, $query, null, $params)) {
35-
$context = Context::get($schema, $query, null, $params);
36-
$operation = $context->operation->operation;
37-
$selectionSet = $context->operation->selectionSet->selections;
30+
if (isset($ast->definitions[0])) {
31+
$d = $ast->definitions[0];
32+
$operation = $d->operation ?: 'query';
33+
$selectionSet = $d->selectionSet->selections;
3834

3935
foreach ($selectionSet as $selection) {
4036
if (is_object($selection) && $selection instanceof \GraphQL\Language\AST\Field) {
4137
try {
42-
$schema = $relay->find(
43-
$selection->name->value,
44-
$context->operation->operation
45-
);
38+
$schema = $relay->find($selection->name->value, $operation);
4639

4740
if (isset($schema['middleware']) && !empty($schema['middleware'])) {
4841
$this->relayMiddleware = array_merge($this->relayMiddleware, $schema['middleware']);

0 commit comments

Comments
 (0)