static_config.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package auximageprovider
  2. import (
  3. "github.com/imgproxy/imgproxy/v3/ensure"
  4. "github.com/imgproxy/imgproxy/v3/env"
  5. )
  6. var (
  7. IMGPROXY_WATERMARK_DATA = env.Describe("IMGPROXY_WATERMARK_DATA", "base64-encoded string")
  8. IMGPROXY_WATERMARK_PATH = env.Describe("IMGPROXY_WATERMARK_PATH", "path")
  9. IMGPROXY_WATERMARK_URL = env.Describe("IMGPROXY_WATERMARK_URL", "URL")
  10. IMGPROXY_FALLBACK_IMAGE_DATA = env.Describe("IMGPROXY_FALLBACK_IMAGE_DATA", "base64-encoded string")
  11. IMGPROXY_FALLBACK_IMAGE_PATH = env.Describe("IMGPROXY_FALLBACK_IMAGE_PATH", "path")
  12. IMGPROXY_FALLBACK_IMAGE_URL = env.Describe("IMGPROXY_FALLBACK_IMAGE_URL", "URL")
  13. )
  14. // StaticConfig holds the configuration for the auxiliary image provider
  15. type StaticConfig struct {
  16. Base64Data string
  17. Path string
  18. URL string
  19. }
  20. // NewDefaultStaticConfig creates a new default configuration for the auxiliary image provider
  21. func NewDefaultStaticConfig() StaticConfig {
  22. return StaticConfig{
  23. Base64Data: "",
  24. Path: "",
  25. URL: "",
  26. }
  27. }
  28. // LoadWatermarkStaticConfigFromEnv loads the watermark configuration from the environment
  29. func LoadWatermarkStaticConfigFromEnv(c *StaticConfig) (*StaticConfig, error) {
  30. c = ensure.Ensure(c, NewDefaultStaticConfig)
  31. env.String(&c.Base64Data, IMGPROXY_WATERMARK_DATA)
  32. env.String(&c.Path, IMGPROXY_WATERMARK_PATH)
  33. env.String(&c.URL, IMGPROXY_WATERMARK_URL)
  34. return c, nil
  35. }
  36. // LoadFallbackStaticConfigFromEnv loads the fallback configuration from the environment
  37. func LoadFallbackStaticConfigFromEnv(c *StaticConfig) (*StaticConfig, error) {
  38. c = ensure.Ensure(c, NewDefaultStaticConfig)
  39. env.String(&c.Base64Data, IMGPROXY_FALLBACK_IMAGE_DATA)
  40. env.String(&c.Path, IMGPROXY_FALLBACK_IMAGE_PATH)
  41. env.String(&c.URL, IMGPROXY_FALLBACK_IMAGE_URL)
  42. return c, nil
  43. }