More tests, misc fixes

This commit is contained in:
2024-03-13 01:28:14 +01:00
parent 7953ce51ee
commit b730b82ef7
7 changed files with 106 additions and 12 deletions

View File

@ -32,6 +32,11 @@ class ApiHandler
return new Promise(
function (callable $resolve, callable $reject) use ($next, $request) {
if (!$this->config->get('server.enable_api', true)) {
$resolve($next($request));
return;
}
$path = $request->getUri()->getPath();
// FIXME remove this when done debugging

View File

@ -75,11 +75,14 @@ class ResponseMiddleware
'method' => $request->getMethod(),
'path' => $request->getUri()->getPath(),
]);
return $response
// ->withAddedHeader('Link', '<https://'.$host.'/.well-known/mercure>; rel="mercure"')
// ->withAddedHeader('Link', '<wss://'.$host.'/.well-known/mercure>; rel="mercure+ws"')
->withHeader('Access-Control-Allow-Origin', '*')
->withHeader('Content-Security-Policy', "default-src * 'self' http: 'unsafe-eval' 'unsafe-inline'; connect-src * 'self'")
->withHeader('Access-Control-Allow-Origin',
$this->config->get('server.cors.allow_origin', '*'))
->withHeader('Content-Security-Policy',
$this->config->get('server.cors.csp', "default-src * 'self' http: 'unsafe-eval' 'unsafe-inline'; connect-src * 'self'"))
->withHeader('Cache-Control', 'must-revalidate')
->withHeader('Server', 'Mercureact/0.1.0');
}

View File

@ -32,7 +32,7 @@ class Server
private SplObjectStorage $webSocketClients;
private TopicManager $topicManager;
private Logger $logger;
private ResponseMiddleware $responseMiddleware;
@ -47,13 +47,13 @@ class Server
*
*
*/
public function __construct(Configuration $config, ?LoggerInterface $logger, ?LoopInterface $loop=null)
public function __construct(Configuration $config, ?Logger $logger, ?LoopInterface $loop=null)
{
$this->loop = $loop??Loop::get();
$this->config = $config;
$this->logger = $logger ?? new NullLogger();
$this->logger = $logger ?? new Logger("main");
if ($logger instanceof Logger) {
$topicLogger = $logger->withName("broker");
} else {
@ -89,7 +89,7 @@ class Server
* @return HttpServer
*/
private function createHttpServer(): HttpServer
{
{
$stack = [
$this->responseMiddleware = new ResponseMiddleware(
config: $this->config,