const server_config = {

    /*
     * The server port.
     * Currently, Flitter supports HTTP natively.
     */
    port: env("SERVER_PORT", 80),

    /*
     * The type of environment the application is running in.
     * Usually, either "production" or "development".
     * Development mode may cause the application to output extra
     * debugging information not secure enough for production.
     */
    environment: env("ENVIRONMENT", "production"),

    logging: {

        /*
         * The logging level. Usually, 1-4.
         * The higher the level, the more information is logged.
         */
        level: env("LOGGING_LEVEL", 2),

        include_timestamp: env("LOGGING_TIMESTAMP", false),

        api_logging: env('LOG_API_RESPONSES', false),

        error_logging: env('LOG_REQUEST_ERRORS', true),
    },

    session: {

        /*
         * The secret used to encrypt the session.
         * This should be set in the environment.
         */
        secret: env("SECRET", "changeme"),

        /*
         * The max age of a session in milliseconds
         */
        max_age: env("SESSION_MAX_AGE", 1000 * 60 * 60 * 24 * 2), // default to 2 days
    },

    uploads: {
        enable: true,
        allowed_path: /./,

        /*
         * Used by flitter-upload. Path for uploaded files.
         * Should be relative to the application root.
         */
        destination: './tmp.uploads',
    },

    ssl: {
        enable: env("SSL_ENABLE", false),

        /*
         * Path to your domain's certificate file.
         * This should contain any intermediate certificates as well.
         */
        cert_file: env("SSL_CERT_FILE", 'cert.pem'),

        /*
         * Path to your domain's certificate key.
         */
        key_file: env("SSL_KEY_FILE", 'cert.key'),
    },

}

module.exports = server_config
