46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
<?php
 | 
						|
 | 
						|
namespace Symfony\Bridge\PsrHttpMessage\Tests\Fixtures\App\Controller;
 | 
						|
 | 
						|
use Psr\Http\Message\MessageInterface;
 | 
						|
use Psr\Http\Message\RequestInterface;
 | 
						|
use Psr\Http\Message\ResponseFactoryInterface;
 | 
						|
use Psr\Http\Message\ResponseInterface;
 | 
						|
use Psr\Http\Message\ServerRequestInterface;
 | 
						|
use Psr\Http\Message\StreamFactoryInterface;
 | 
						|
 | 
						|
final class PsrRequestController
 | 
						|
{
 | 
						|
    private $responseFactory;
 | 
						|
    private $streamFactory;
 | 
						|
 | 
						|
    public function __construct(ResponseFactoryInterface $responseFactory, StreamFactoryInterface $streamFactory)
 | 
						|
    {
 | 
						|
        $this->responseFactory = $responseFactory;
 | 
						|
        $this->streamFactory = $streamFactory;
 | 
						|
    }
 | 
						|
 | 
						|
    public function serverRequestAction(ServerRequestInterface $request): ResponseInterface
 | 
						|
    {
 | 
						|
        return $this->responseFactory
 | 
						|
            ->createResponse()
 | 
						|
            ->withBody($this->streamFactory->createStream(sprintf('<html><body>%s</body></html>', $request->getMethod())));
 | 
						|
    }
 | 
						|
 | 
						|
    public function requestAction(RequestInterface $request): ResponseInterface
 | 
						|
    {
 | 
						|
        return $this->responseFactory
 | 
						|
            ->createResponse()
 | 
						|
            ->withStatus(403)
 | 
						|
            ->withBody($this->streamFactory->createStream(sprintf('<html><body>%s %s</body></html>', $request->getMethod(), $request->getBody()->getContents())));
 | 
						|
    }
 | 
						|
 | 
						|
    public function messageAction(MessageInterface $request): ResponseInterface
 | 
						|
    {
 | 
						|
        return $this->responseFactory
 | 
						|
            ->createResponse()
 | 
						|
            ->withStatus(422)
 | 
						|
            ->withBody($this->streamFactory->createStream(sprintf('<html><body>%s</body></html>', $request->getHeader('X-My-Header')[0])));
 | 
						|
    }
 | 
						|
}
 |