Skip to content

Commit

Permalink
update handler to properly carry cloned request objects
Browse files Browse the repository at this point in the history
  • Loading branch information
jshannon63 committed Jan 3, 2018
1 parent 4491115 commit b7a1b0a
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 13 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ vendor/
.idea/
.DS_Store
composer.lock
.vscode/
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@

# Use your PSR-15 compliant middleware in Laravel

##### NOTE: A simple "PSR-7 Only" compliant middleware package is available [here](https://github.com/jshannon63/psr7middleware).

##### What it does and why:
The laravel-psr15-middleware package (a.k.a. Psr15Middleware) is a Laravel
compatible middleware that creates an abstraction between PSR-7/PSR-15
Expand Down
11 changes: 5 additions & 6 deletions src/Psr15MiddlewareDispatcher.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@ public function __invoke(FoundationRequest $request, FoundationResponse $respons

$psr7response = array_reduce(
$middleware,
function ($carry, $item) use ($psr7request, $requestHandler) {
$requestHandler->set($carry);
function ($carry, $item) use ($requestHandler) {
$requestHandler->setResponse($carry);

if (is_callable($item)) {
return $item()->process($psr7request, $requestHandler);
return $item()->process($requestHandler->getRequest(), $requestHandler);
}

if (is_object($item)) {
return $item->process($psr7request, $requestHandler);
return $item->process($requestHandler->getRequest(), $requestHandler);
}

return (new $item)->process($psr7request, $requestHandler);
return (new $item)->process($requestHandler->getRequest(), $requestHandler);
},
$requestHandler->handle($psr7request)
);
Expand All @@ -51,4 +51,3 @@ private function convertResponse($psr7response, $original)
return $original;
}
}

15 changes: 10 additions & 5 deletions src/Psr15MiddlewareHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;


Class Handler implements RequestHandlerInterface
class Handler implements RequestHandlerInterface
{
protected $response;
protected $request;

public function __construct(FoundationResponse $response)
{
Expand All @@ -20,12 +20,17 @@ public function __construct(FoundationResponse $response)

public function handle(ServerRequestInterface $request): ResponseInterface
{
$this->request = $request;
return $this->response;
}

public function set($response)
public function getRequest()
{
$this->response = $response;
return $this->request;
}

public function setResponse($response)
{
$this->response = $response;
}
}
}

0 comments on commit b7a1b0a

Please sign in to comment.