config.go 825 B

123456789101112131415161718192021222324252627282930313233343536
  1. package svg
  2. import (
  3. "github.com/imgproxy/imgproxy/v3/ensure"
  4. "github.com/imgproxy/imgproxy/v3/env"
  5. )
  6. var (
  7. IMGPROXY_SANITIZE_SVG = env.Describe("IMGPROXY_SANITIZE_SVG", "boolean")
  8. )
  9. // Config holds SVG-specific configuration
  10. type Config struct {
  11. Sanitize bool // Sanitize SVG content for security
  12. }
  13. // NewDefaultConfig creates a new Config instance with default values
  14. func NewDefaultConfig() Config {
  15. return Config{
  16. Sanitize: true, // By default, sanitize SVG for security
  17. }
  18. }
  19. // LoadConfigFromEnv loads configuration from environment variables
  20. func LoadConfigFromEnv(c *Config) (*Config, error) {
  21. c = ensure.Ensure(c, NewDefaultConfig)
  22. err := env.Bool(&c.Sanitize, IMGPROXY_SANITIZE_SVG)
  23. return c, err
  24. }
  25. // Validate checks if the configuration is valid
  26. func (c *Config) Validate() error {
  27. return nil
  28. }