MultiEnvironmentConfig class abstract

Multi-environment configuration helper

Use this when you want to define all environments in one place.

Example:

class AppConfig extends MultiEnvironmentConfig {
  const AppConfig(super.environment);

  @override
  String getBaseUrl(Environment env) {
    return switch (env) {
      Environment.development => 'https://dev-api.example.com',
      Environment.staging => 'https://staging-api.example.com',
      Environment.production => 'https://api.example.com',
    };
  }

  @override
  Map<String, dynamic> getHeaders(Environment env) {
    return {
      'X-App-Version': '1.0.0',
      'X-Environment': env.name,
    };
  }
}

// Usage
const config = AppConfig(Environment.production);
Implemented types

Constructors

MultiEnvironmentConfig(Environment environment)
const

Properties

baseUrl → String
Base URL for API requests
no setteroverride
connectTimeout → Duration
Connection timeout duration
no setteroverride
enableLogging → bool
Enable debug logging
no setteroverride
environment → Environment
Current environment
final
hashCode → int
The hash code for this object.
no setterinherited
headers → Map<String, dynamic>
Default headers for all requests
no setteroverride
receiveTimeout → Duration
Response receive timeout duration
no setteroverride
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sendTimeout → Duration
Request send timeout duration
no setteroverride

Methods

getBaseUrl(Environment env) → String
Get base URL for the given environment
getConnectTimeout(Environment env) → Duration
Get timeouts for the given environment
getHeaders(Environment env) → Map<String, dynamic>
Get headers for the given environment
getReceiveTimeout(Environment env) → Duration
getSendTimeout(Environment env) → Duration
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited