php-slim4-server.config_dev_default.mustache Maven / Gradle / Ivy
'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