mirror of
https://github.com/yusing/godoxy.git
synced 2026-01-11 22:30:47 +01:00
- Added ShortLinkMatcher to handle short link routing. - Integrated short link handling in Entrypoint. - Introduced tests for short link matching and dispatching. - Configured default domain suffix for subdomain aliases.
62 lines
2.1 KiB
Go
62 lines
2.1 KiB
Go
package common
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
"time"
|
|
|
|
"github.com/yusing/goutils/env"
|
|
)
|
|
|
|
var (
|
|
IsTest = env.GetEnvBool("TEST", false) || strings.HasSuffix(os.Args[0], ".test")
|
|
IsDebug = env.GetEnvBool("DEBUG", IsTest)
|
|
IsTrace = env.GetEnvBool("TRACE", false) && IsDebug
|
|
|
|
ShortLinkPrefix = env.GetEnvString("SHORTLINK_PREFIX", "go")
|
|
|
|
ProxyHTTPAddr,
|
|
ProxyHTTPHost,
|
|
ProxyHTTPPort,
|
|
ProxyHTTPURL = env.GetAddrEnv("HTTP_ADDR", ":80", "http")
|
|
|
|
ProxyHTTPSAddr,
|
|
ProxyHTTPSHost,
|
|
ProxyHTTPSPort,
|
|
ProxyHTTPSURL = env.GetAddrEnv("HTTPS_ADDR", ":443", "https")
|
|
|
|
APIHTTPAddr,
|
|
APIHTTPHost,
|
|
APIHTTPPort,
|
|
APIHTTPURL = env.GetAddrEnv("API_ADDR", "127.0.0.1:8888", "http")
|
|
|
|
APIJWTSecure = env.GetEnvBool("API_JWT_SECURE", true)
|
|
APIJWTSecret = decodeJWTKey(env.GetEnvString("API_JWT_SECRET", ""))
|
|
APIJWTTokenTTL = env.GetEnvDuation("API_JWT_TOKEN_TTL", 24*time.Hour)
|
|
APIUser = env.GetEnvString("API_USER", "admin")
|
|
APIPassword = env.GetEnvString("API_PASSWORD", "password")
|
|
|
|
APISkipOriginCheck = env.GetEnvBool("API_SKIP_ORIGIN_CHECK", false) // skip this in UI Demo
|
|
|
|
DebugDisableAuth = env.GetEnvBool("DEBUG_DISABLE_AUTH", false)
|
|
|
|
// OIDC Configuration.
|
|
OIDCIssuerURL = env.GetEnvString("OIDC_ISSUER_URL", "")
|
|
OIDCClientID = env.GetEnvString("OIDC_CLIENT_ID", "")
|
|
OIDCClientSecret = env.GetEnvString("OIDC_CLIENT_SECRET", "")
|
|
OIDCScopes = env.GetEnvCommaSep("OIDC_SCOPES", "openid, profile, email, groups")
|
|
OIDCAllowedUsers = env.GetEnvCommaSep("OIDC_ALLOWED_USERS", "")
|
|
OIDCAllowedGroups = env.GetEnvCommaSep("OIDC_ALLOWED_GROUPS", "")
|
|
OIDCRateLimit = env.GetEnvInt("OIDC_RATE_LIMIT", 10)
|
|
OIDCRateLimitPeriod = env.GetEnvDuation("OIDC_RATE_LIMIT_PERIOD", time.Second)
|
|
|
|
// metrics configuration
|
|
MetricsDisableCPU = env.GetEnvBool("METRICS_DISABLE_CPU", false)
|
|
MetricsDisableMemory = env.GetEnvBool("METRICS_DISABLE_MEMORY", false)
|
|
MetricsDisableDisk = env.GetEnvBool("METRICS_DISABLE_DISK", false)
|
|
MetricsDisableNetwork = env.GetEnvBool("METRICS_DISABLE_NETWORK", false)
|
|
MetricsDisableSensors = env.GetEnvBool("METRICS_DISABLE_SENSORS", false)
|
|
|
|
ForceResolveCountry = env.GetEnvBool("FORCE_RESOLVE_COUNTRY", false)
|
|
)
|