Skip to content

Commit

Permalink
redirect response
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisGalliano committed Feb 4, 2020
1 parent 2d29486 commit 74da0b5
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions src/Http/Response/Redirect/UriRedirectResponse.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?
declare(strict_types=1);

namespace Pion\Http\Response\Redirect;

use Pion\Http\Response\Headers\Headers;
use Pion\Http\Response\Headers\HeadersInterface;
use Pion\Http\Response\Redirect\Headers\LocationHeader;
use Pion\Http\Response\ResponseInterface;
use Pion\Http\Response\Status\PredefinedStatus;
use Pion\Http\Response\Status\StatusInterface;
use Pion\Http\Response\Stream\Stream;
use Pion\Http\Response\Stream\StreamInterface;
use Psr\Http\Message\UriInterface;

class UriRedirectResponse implements ResponseInterface
{
/**
* @var UriInterface
*/
private $uri;

/**
* @var int
*/
private $statusCode;

public function __construct(UriInterface $uri, int $status = null) {
$this->uri = $uri;
$this->statusCode = $status ?? 302;
}

public function status(): StatusInterface
{
return new PredefinedStatus($this->statusCode, '');
}

public function headers(): HeadersInterface
{
return new Headers(new LocationHeader($this->uri));
}

public function stream(): StreamInterface
{
return new Stream('');
}
}

0 comments on commit 74da0b5

Please sign in to comment.