Environment Variables 
Learn how to use environment variables in your HTTP application.
Configuration 
Configure environment variables in your HTTP App:
v
module main
import khalyomede.mantis.http { create_app, App, Response }
import khalyomede.mantis.http.route
import khalyomede.mantis.env { Env } 
fn main() {
  app := create_app(
    env: Env{ 
      file: $embed_file('.env')
    }
    routes: [
      route.get(
        name: "index"
        path: "/"
        callback: fn (app App) !Response {
          return app.response.html(content: "hello world")
        }
      )
    ]
  )
  app.serve() or { panic(err) }
}Reading Variables 
Access environment variables in your route callbacks:
v
module main
import khalyomede.mantis.http { create_app, App, Response }
import khalyomede.mantis.http.route
import khalyomede.mantis.env { Env } 
fn main() {
  app := create_app(
    env: Env{ // ![code focus:3]
      file: $embed_file('.env')
    }
    routes: [
      route.get(
        name: "status.index"
        path: "/status"
        callback: fn (app App) !Response {
          mut instance := app
          app_name := instance.env.get('APP_NAME') or { 'My App' } 
          app_mode := instance.env.get('APP_MODE') or { 'development' }
Environment File 
Your .env file can contain various configuration options:
dotenv
APP_NAME=My Application
APP_MODE=development
DB_HOST=localhost
DB_PORT=5432
DB_NAME=myapp
DB_USER=admin
DB_PASSWORD=secret
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=username
MAIL_PASSWORD=password
# Add comments for clarity
CACHE_DRIVER=redis  # Supported: "redis", "memcached"Default Values 
Handle missing environment variables gracefully using V's Option type:
v
module main
import khalyomede.mantis.http { create_app, App, Response }
import khalyomede.mantis.http.route
import khalyomede.mantis.env { Env } 
fn main() {
  app := create_app(
    env: Env{ 
      file: $embed_file('.env')
    }
    routes: [
      route.get(
        name: "config.index"
        path: "/config"
        callback: fn (app App) !Response {
          mut instance := app
          // Provide defaults for missing values
          config := {
            'name': instance.env.get('APP_NAME') or { 'My App' }
            'mode': instance.env.get('APP_MODE') or { 'development' }
            'port': instance.env.get('APP_PORT') or { '8080' }
            'debug': instance.env.get('APP_DEBUG') or { 'false' }
          }