|
2 | 2 |
|
3 | 3 | namespace PhpMiddleware\BlockRobots;
|
4 | 4 |
|
5 |
| -use Psr\Http\Message\ResponseInterface; |
| 5 | +use Interop\Http\ServerMiddleware\DelegateInterface; |
| 6 | +use Interop\Http\ServerMiddleware\MiddlewareInterface; |
| 7 | +use PhpMiddleware\DoublePassCompatibilityTrait; |
6 | 8 | use Psr\Http\Message\ServerRequestInterface;
|
7 | 9 | use Zend\Diactoros\Response;
|
8 | 10 |
|
9 |
| -class BlockRobotsMiddleware |
| 11 | +class BlockRobotsMiddleware implements MiddlewareInterface |
10 | 12 | {
|
| 13 | + use DoublePassCompatibilityTrait; |
| 14 | + |
11 | 15 | const ROBOTS_HEADER = 'X-Robots-Tag';
|
12 | 16 |
|
13 |
| - public function __invoke(ServerRequestInterface $request, ResponseInterface $response, callable $out = null) |
| 17 | + public function process(ServerRequestInterface $request, DelegateInterface $delegate) |
14 | 18 | {
|
15 | 19 | if ($request->getUri()->getPath() === '/robots.txt') {
|
16 |
| - $newReponse = new Response('php://memory', 200, ['Content-Type' => 'text/plain']); |
17 |
| - $newReponse->getBody()->write("User-Agent: *\nDisallow: /"); |
| 20 | + $response = new Response('php://memory', 200, ['Content-Type' => 'text/plain']); |
| 21 | + $response->getBody()->write("User-Agent: *\nDisallow: /"); |
18 | 22 |
|
19 |
| - return $newReponse; |
| 23 | + return $response; |
20 | 24 | }
|
21 |
| - /* @var $out ResponseInterface */ |
22 |
| - $response = $out === null ? $response : $out($request, $response); |
| 25 | + |
| 26 | + $response = $delegate->process($request); |
23 | 27 |
|
24 | 28 | return $response->withHeader(self::ROBOTS_HEADER, 'noindex, nofollow');
|
25 | 29 | }
|
|
0 commit comments