aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/app/src/Middlewares/CacheControlPrivateMiddleware.php
blob: 4372d5cbd9024874236d9168f6321f389a432903 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

declare(strict_types=1);

namespace Nsfisis\Albatross\Middlewares;

use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;

final class CacheControlPrivateMiddleware implements MiddlewareInterface
{
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        $response = $handler->handle($request);
        if ($request->getAttribute('current_user') !== null) {
            return $response->withHeader('Cache-Control', 'private');
        } else {
            return $response;
        }
    }
}