Download core/API/CORSHandler.php from Leon4gr45/matomo: direct link, hf CLI and curl.
- Browser
- Download file 1.44 kB
-
https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/core/API/CORSHandler.php
- Command line
-
hf download hf://spaces/Leon4gr45/matomo/core/API/CORSHandler.php
-
curl -L -o CORSHandler.php https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/core/API/CORSHandler.php
1.44 kB
| /** | |
| * Matomo - free/libre analytics platform | |
| * | |
| * @link https://matomo.org | |
| * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later | |
| */ | |
| namespace Piwik\API; | |
| use Piwik\Common; | |
| use Piwik\Url; | |
| class CORSHandler | |
| { | |
| /** | |
| * @var array | |
| */ | |
| protected $domains; | |
| public function __construct() | |
| { | |
| $this->domains = Url::getCorsHostsFromConfig(); | |
| } | |
| public function handle() | |
| { | |
| if (empty($this->domains)) { | |
| return; | |
| } | |
| Common::sendHeader('Vary: Origin'); | |
| // allow Piwik to serve data to all domains | |
| if (in_array("*", $this->domains)) { | |
| Common::sendHeader('Access-Control-Allow-Credentials: true'); | |
| if (!empty($_SERVER['HTTP_ORIGIN'])) { | |
| Common::sendHeader('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']); | |
| return; | |
| } | |
| Common::sendHeader('Access-Control-Allow-Origin: *'); | |
| return; | |
| } | |
| // specifically allow if it is one of the allowlisted CORS domains | |
| if (!empty($_SERVER['HTTP_ORIGIN'])) { | |
| $origin = $_SERVER['HTTP_ORIGIN']; | |
| if (in_array($origin, $this->domains, true)) { | |
| Common::sendHeader('Access-Control-Allow-Credentials: true'); | |
| Common::sendHeader('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']); | |
| } | |
| } | |
| } | |
| } | |