Overview
  • Namespace
  • Class

Namespaces

  • Http
    • Message
      • Authentication
      • Decorator
      • Encoding
        • Filter
      • Formatter
      • MessageFactory
      • StreamFactory
      • UriFactory

Classes

  • Http\Message\Authentication\BasicAuth
  • Http\Message\Authentication\Bearer
  • Http\Message\Authentication\Chain
  • Http\Message\Authentication\Matching
  • Http\Message\Authentication\QueryParam
  • Http\Message\Authentication\Wsse
  • Http\Message\Encoding\ChunkStream
  • Http\Message\Encoding\CompressStream
  • Http\Message\Encoding\DechunkStream
  • Http\Message\Encoding\DecompressStream
  • Http\Message\Encoding\DeflateStream
  • Http\Message\Encoding\Filter\Chunk
  • Http\Message\Encoding\FilteredStream
  • Http\Message\Encoding\GzipDecodeStream
  • Http\Message\Encoding\GzipEncodeStream
  • Http\Message\Encoding\InflateStream
  • Http\Message\Formatter\SimpleFormatter
  • Http\Message\MessageFactory\DiactorosMessageFactory
  • Http\Message\MessageFactory\GuzzleMessageFactory
  • Http\Message\StreamFactory\DiactorosStreamFactory
  • Http\Message\StreamFactory\GuzzleStreamFactory
  • Http\Message\UriFactory\DiactorosUriFactory
  • Http\Message\UriFactory\GuzzleUriFactory

Interfaces

  • Http\Message\Authentication
  • Http\Message\Formatter

Traits

  • Http\Message\Decorator\MessageDecorator
  • Http\Message\Decorator\RequestDecorator
  • Http\Message\Decorator\ResponseDecorator
  • Http\Message\Decorator\StreamDecorator
 1 <?php
 2 
 3 namespace Http\Message\Authentication;
 4 
 5 use Http\Message\Authentication;
 6 use Psr\Http\Message\RequestInterface;
 7 
 8 /**
 9  * Authenticate a PSR-7 Request with a multiple authentication methods.
10  *
11  * @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
12  */
13 final class Chain implements Authentication
14 {
15     /**
16      * @var Authentication[]
17      */
18     private $authenticationChain = [];
19 
20     /**
21      * @param Authentication[] $authenticationChain
22      */
23     public function __construct(array $authenticationChain = [])
24     {
25         foreach ($authenticationChain as $authentication) {
26             if (!$authentication instanceof Authentication) {
27                 throw new \InvalidArgumentException(
28                     'Members of the authentication chain must be of type Http\Message\Authentication'
29                 );
30             }
31         }
32 
33         $this->authenticationChain = $authenticationChain;
34     }
35 
36     /**
37      * {@inheritdoc}
38      */
39     public function authenticate(RequestInterface $request)
40     {
41         foreach ($this->authenticationChain as $authentication) {
42             $request = $authentication->authenticate($request);
43         }
44 
45         return $request;
46     }
47 }
48 
API documentation generated by ApiGen