. * * @package LibreNMS * @link http://librenms.org * @copyright 2019 Tony Murray * @author Tony Murray */ namespace App\Http\Profile; use Illuminate\Support\Arr; use LibreNMS\Config; use Spatie\Cors\CorsProfile\DefaultProfile; class CorsApiProfile extends DefaultProfile { public function addCorsHeaders($response) { return Config::get('api.cors.enabled') ? parent::addCorsHeaders($response) : $response; } public function addPreflightHeaders($response) { return Config::get('api.cors.enabled') ? parent::addPreflightHeaders($response) : $response; } public function allowHeaders(): array { return Arr::wrap(Config::get('api.cors.allowheaders', [])); } public function allowMethods(): array { return Arr::wrap(Config::get('api.cors.allowmethods', [])); } public function maxAge(): int { return (int)Config::get('api.cors.maxage', 86400); } public function allowOrigins(): array { return Arr::wrap(Config::get('api.cors.origin', [])); } public function exposeHeaders(): array { return Arr::wrap(Config::get('api.cors.exposeheaders', [])); } public function allowCredentials(): bool { return (bool)Config::get('api.cors.allowcredentials'); } }