HEX
Server: Apache
System: Linux server1.ariadata.co 4.18.0-553.120.1.el8_10.x86_64 #1 SMP Mon Apr 20 18:04:27 EDT 2026 x86_64
User: nepi (1051)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system,show_source,popen,proc_open
Upload Files
File: /home/nepi/public_html/src/helpers/cors.php
<?php

namespace Directus;

use Directus\Util\StringUtils;

if (!function_exists('cors_get_allowed_origin')) {
    /**
     * Returns the allowed origin based on the allowed origins list
     *
     * Ex:* 1. null - $requestedOrigin not allowed
     *      2. '*' - $requestedOrigin allowed by wildcard
     *      3. host - $requestedOrigin allowed by the hostname
     *
     * @param array|string $allowedOrigins
     * @param string $requestedOrigin
     *
     * @return null|string
     */
    function cors_get_allowed_origin($allowedOrigins, $requestedOrigin)
    {
        if (is_array($requestedOrigin)) {
            $requestedOrigin = array_shift($requestedOrigin);
        }

        if (!is_array($allowedOrigins)) {
            if (is_string($allowedOrigins)) {
                $allowedOrigins = StringUtils::csv($allowedOrigins);
            } else {
                $allowedOrigins = [$allowedOrigins];
            }
        }

        if (in_array($requestedOrigin, $allowedOrigins)) {
            $allowedOrigin = $requestedOrigin;
        } else if (in_array('*', $allowedOrigins)) {
            $allowedOrigin = !empty($requestedOrigin) ? $requestedOrigin : '*';
        } else {
            $allowedOrigin = null;
        }

        return $allowedOrigin;
    }
}

if (!function_exists('cors_is_origin_allowed')) {
    /**
     * Checks whether an requested host is allowed
     *
     * @param $allowedOrigins
     * @param $requestedOrigin
     *
     * @return bool
     */
    function cors_is_origin_allowed($allowedOrigins, $requestedOrigin)
    {
        return cors_get_allowed_origin($allowedOrigins, $requestedOrigin) !== null;
    }
}