getUri()->getPath(), '/api')) { return $handler->handle($request); } if ($request->getMethod() === 'OPTIONS') { return $this->addHeaders(new Response(['status' => 204])); } return $this->addHeaders($handler->handle($request)); } /** * @param \Psr\Http\Message\ResponseInterface $response Response * @return \Psr\Http\Message\ResponseInterface */ protected function addHeaders(ResponseInterface $response): ResponseInterface { return $response ->withHeader('Access-Control-Allow-Origin', '*') ->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS') ->withHeader('Access-Control-Allow-Headers', 'Authorization, Content-Type, Accept') ->withHeader('Access-Control-Expose-Headers', 'X-Total-Count') ->withHeader('Access-Control-Max-Age', '86400'); } }