<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Laravel CORS Options
    |--------------------------------------------------------------------------
    |
    | The allowed_methods and allowed_headers options are case-insensitive.
    |
    | You don't need to provide both allowed_origins and allowed_origins_patterns.
    | If one of the strings passed matches, it is considered a valid origin.
    |
    | If ['*'] is provided to allowed_methods, allowed_origins or allowed_headers
    | all methods / origins / headers are allowed.
    |
    */

    /*
     * You can enable CORS for 1 or multiple paths.
     * Example: ['api/*']
     */
    'paths' => ['*'],

    /*
    * Matches the request method. `['*']` allows all methods.
    */
    'allowed_methods' => ['*'],

    /*
     * Matches the request origin. `['*']` allows all origins. Wildcards can be used, eg `*.mydomain.com`
     * For session-based authentication, we need to be specific about allowed origins
     */
    'allowed_origins' => [
        '*.energytraderseurope.org',
        '*.energytradersdeutschland.org',
        'http://localhost:3000',  // Nuxt dev server
        'https://localhost:3000', // Nuxt dev server with SSL
        '*.eae.pt',               // Production domains
        '*.eae.pt:3000',          // Development with custom port
        'http://localhost.eae.pt:3000',   // Custom local domain
        'https://localhost.eae.pt:3000',  // Custom local domain with SSL
        'https://localhost.lndo.site:3000', // Lando local frontend
        'http://localhost.lndo.site:3000',  // Lando local frontend (http)
    ],

    /*
     * Patterns that can be used with `preg_match` to match the origin.
     */
    'allowed_origins_patterns' => [],

    /*
     * Sets the Access-Control-Allow-Headers response header. `['*']` allows all headers.
     */
    'allowed_headers' => ['*'],

    /*
     * Sets the Access-Control-Expose-Headers response header with these headers.
     */
    'exposed_headers' => [],

    /*
     * Sets the Access-Control-Max-Age response header when > 0.
     */
    'max_age' => 0,

    /*
     * Sets the Access-Control-Allow-Credentials header.
     */
    'supports_credentials' => true,
];
