. * */ namespace Friendica\Module\Special; use Friendica\App\Router; use Friendica\BaseModule; use Friendica\Module\Response; /** * Returns the allowed HTTP methods based on the route information * * It's a special class which shouldn't be called directly * * @see Router::getModuleClass() */ class Options extends BaseModule { protected function options(array $request = []) { $allowedMethods = $this->parameters['AllowedMethods'] ?? []; if (empty($allowedMethods)) { $allowedMethods = Router::ALLOWED_METHODS; } // @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS $this->response->setHeader(implode(',', $allowedMethods), 'Allow'); $this->response->setStatus(204); $this->response->setType(Response::TYPE_BLANK); } }