Merge branch 'locales' of https://github.com/fipwmaqzufheoxq92ebc/grocy into pr/fipwmaqzufheoxq92ebc/976

This commit is contained in:
Bernd Bestel 2020-08-31 18:33:17 +02:00
commit ddfe608ec6
No known key found for this signature in database
GPG Key ID: 71BD34C0D4891300
2 changed files with 19 additions and 4 deletions

View File

@ -81,5 +81,5 @@ $errorMiddleware->setDefaultErrorHandler(
new \Grocy\Controllers\ExceptionController($app, $container)
);
$app->add(CorsMiddleware::class);
$app->add(new CorsMiddleware($app->getResponseFactory()));
$app->run();

View File

@ -2,22 +2,37 @@
namespace Grocy\Middleware;
use Psr\Http\Message\ResponseFactoryInterface;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
use Psr\Http\Message\ResponseInterface as Response;
use Slim\Routing\RouteContext;
class CorsMiddleware extends BaseMiddleware
class CorsMiddleware
{
/**
* @var ResponseFactoryInterface
*/
private $responseFactory;
public function __construct(ResponseFactoryInterface $responseFactory)
{
$this->responseFactory = $responseFactory;
}
public function __invoke(Request $request, RequestHandler $handler): Response
{
if ($request->getMethod() == "OPTIONS")
$response = $this->responseFactory->createResponse(200);
else {
$response = $handler->handle($request);
}
//$routeContext = RouteContext::fromRequest($request);
//$routingResults = $routeContext->getRoutingResults();
//$methods = $routingResults->getAllowedMethods();
//$requestHeaders = $request->getHeaderLine('Access-Control-Request-Headers');
$response = $handler->handle($request);
$response = $response->withHeader('Access-Control-Allow-Origin', '*');
$response = $response->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
$response = $response->withHeader('Access-Control-Allow-Headers', '*');