All Downloads are FREE. Search and download functionalities are using the official Maven repository.

php-slim4-server.config_dev_default.mustache Maven / Gradle / Ivy

There is a newer version: 7.6.0
Show newest version
 'development',

    // Returns a detailed HTML page with error details and
    // a stack trace. Should be disabled in production.
    'slim.displayErrorDetails' => true,

    // Whether to display errors on the internal PHP log or not.
    'slim.logErrors' => false,

    // If true, display full errors with message and stack trace on the PHP log.
    // If false, display only "Slim Application Error" on the PHP log.
    // Doesn't do anything when 'logErrors' is false.
    'slim.logErrorDetails' => false,

    // CORS settings
    // @see https://github.com/neomerx/cors-psr7/blob/master/src/Strategies/Settings.php
    'cors.settings' => [
        isset($_SERVER['HTTPS']) ? 'https' : 'http', // serverOriginScheme
        $_SERVER['SERVER_NAME'], // serverOriginHost
        null, // serverOriginPort
        false, // isPreFlightCanBeCached
        0, // preFlightCacheMaxAge
        false, // isForceAddMethods
        false, // isForceAddHeaders
        true, // isUseCredentials
        true, // areAllOriginsAllowed
        [], // allowedOrigins
        true, // areAllMethodsAllowed
        [], // allowedLcMethods
        'GET, POST, PUT, PATCH, DELETE', // allowedMethodsList
        true, // areAllHeadersAllowed
        [], // allowedLcHeaders
        'authorization, content-type, x-requested-with', // allowedHeadersList
        '', // exposedHeadersList
        true, // isCheckHost
    ],

    // PDO
    'pdo.dsn' => 'mysql:host=localhost;charset=utf8mb4',
    'pdo.username' => 'root',
    'pdo.password' => 'root',
    'pdo.options' => [
        \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
    ],

    // mocker
    // OBVIOUSLY MUST NOT BE USED for production
    // @see https://github.com/ybelenko/openapi-data-mocker-server-middleware
    'mocker.getMockStatusCodeCallback' => function () {
        return function (\Psr\Http\Message\ServerRequestInterface $request, array $responses) {
            // check if client clearly asks for mocked response
            $pingHeader = 'X-{{invokerPackage}}-Mock';
            $pingHeaderCode = 'X-{{invokerPackage}}-Mock-Code';
            if (
                $request->hasHeader($pingHeader)
                && $request->getHeader($pingHeader)[0] === 'ping'
            ) {
                $responses = (array) $responses;
                $requestedResponseCode = ($request->hasHeader($pingHeaderCode)) ? $request->getHeader($pingHeaderCode)[0] : 'default';
                if (array_key_exists($requestedResponseCode, $responses)) {
                    return $requestedResponseCode;
                }

                // return first response key
                reset($responses);
                return key($responses);
            }

            return false;
        };
    },
    'mocker.afterCallback' => function () {
        return function (\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response) {
            // mark mocked response to distinguish real and fake responses
            return $response->withHeader('X-{{invokerPackage}}-Mock', 'pong');
        };
    },

    // logger
    'logger.name' => 'App',
    'logger.path' => \realpath(__DIR__ . '/../../logs') . '/app.log',
    'logger.level' => 100, // equals DEBUG level
    'logger.options' => [],
];




© 2015 - 2024 Weber Informatics LLC | Privacy Policy