init security, add cors

This commit is contained in:
renaldybrada
2026-01-30 08:32:54 +07:00
parent eab5b428ea
commit 577dc163c0
8 changed files with 59 additions and 11 deletions

No files matched your search

+3
View File
@@ -20,6 +20,9 @@ func LoadConfig() *Config {
Mode: getEnv("GIN_MODE", "debug"),
},
Databases: make(map[string]DatabaseConfig),
Security: SecurityConfig{
TrustedOrigins: parseOrigins(getEnv("SECURITY_TRUSTED_ORIGINS", "http://localhost:3000,http://localhost:8080")),
},
}
config.loadCustomDatabaseConfigs()
+12
View File
@@ -3,6 +3,7 @@ package config
import (
"os"
"strconv"
"strings"
"time"
)
@@ -155,3 +156,14 @@ func parseDuration(durationStr string) time.Duration {
}
return 5 * time.Minute
}
func parseOrigins(originsStr string) []string {
if originsStr == "" {
return []string{"http://localhost:8080"} // Default untuk pengembangan
}
origins := strings.Split(originsStr, ",")
for i, origin := range origins {
origins[i] = strings.TrimSpace(origin)
}
return origins
}
+5
View File
@@ -6,6 +6,7 @@ type Config struct {
Server ServerConfig
Databases map[string]DatabaseConfig
ReadReplicas map[string][]DatabaseConfig
Security SecurityConfig
}
type ServerConfig struct {
@@ -43,3 +44,7 @@ type DatabaseConfig struct {
MaxIdleTime time.Duration // Maximum amount of time a connection may be idle
HealthCheckPeriod time.Duration // Health check period
}
type SecurityConfig struct {
TrustedOrigins []string `mapstructure:"trusted_origins"`
}