Skip to content

Commit

Permalink
Merge pull request #190 from spiral/pr/requestfilter_with_context
Browse files Browse the repository at this point in the history
pr / set context inside request filter
  • Loading branch information
vvval committed Aug 3, 2017
2 parents 030f876 + 2cc6d4d commit 4834bbc
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 0 deletions.
20 changes: 20 additions & 0 deletions source/Spiral/Http/Request/RequestFilter.php
Original file line number Diff line number Diff line change
Expand Up @@ -162,4 +162,24 @@ protected function getSchema(): array

return static::SCHEMA;
}

/**
* Pass context to validator.
*
* @param mixed $context
*/
public function setContext($context)
{
$this->getValidator()->setContext($context);
}

/**
* Get context from validator.
*
* @return mixed
*/
public function getContext()
{
return $this->getValidator()->getContext();
}
}
28 changes: 28 additions & 0 deletions tests/Http/RequestFilters/DemoRequestTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -207,4 +207,32 @@ public function testValid()
$request->name = $name;
$this->assertTrue($request->isValid(true));
}

public function testContext()
{
$serverRequest = new ServerRequest();
$serverRequest = $serverRequest->withParsedBody([
'name' => 'Anton',
'address' => [
'countryCode' => '',
'city' => 'San Francisco',
'address' => 'Some street'
],
'files' => [
//Iterating over data
0 => [
'label' => 'Some label'
]
]
]);
$this->container->bind(ServerRequestInterface::class, $serverRequest);
/** @var DemoRequest $request */
$request = $this->container->get(DemoRequest::class);

$context = new \stdClass();
$context->data = 'some context';
$request->setContext($context);

$this->assertEquals($context, $request->getContext());
}
}

0 comments on commit 4834bbc

Please sign in to comment.