All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
41 lines
951 B
PHP
41 lines
951 B
PHP
<?php
|
|
|
|
namespace Http\Message\Authentication;
|
|
|
|
use Http\Message\Authentication;
|
|
use Http\Message\RequestMatcher;
|
|
use Psr\Http\Message\RequestInterface;
|
|
|
|
/**
|
|
* Authenticate a PSR-7 Request if the request is matching the given request matcher.
|
|
*
|
|
* @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
|
|
*/
|
|
final class RequestConditional implements Authentication
|
|
{
|
|
/**
|
|
* @var RequestMatcher
|
|
*/
|
|
private $requestMatcher;
|
|
|
|
/**
|
|
* @var Authentication
|
|
*/
|
|
private $authentication;
|
|
|
|
public function __construct(RequestMatcher $requestMatcher, Authentication $authentication)
|
|
{
|
|
$this->requestMatcher = $requestMatcher;
|
|
$this->authentication = $authentication;
|
|
}
|
|
|
|
public function authenticate(RequestInterface $request)
|
|
{
|
|
if ($this->requestMatcher->matches($request)) {
|
|
return $this->authentication->authenticate($request);
|
|
}
|
|
|
|
return $request;
|
|
}
|
|
}
|