LoadConfigFromEnv creates a new Config instance with the given parameters.
(c *Config)
| 76 | |
| 77 | // LoadConfigFromEnv creates a new Config instance with the given parameters. |
| 78 | func LoadConfigFromEnv(c *Config) (*Config, error) { |
| 79 | c = ensure.Ensure(c, NewDefaultConfig) |
| 80 | |
| 81 | _, svgErr := svg.LoadConfigFromEnv(&c.Svg) |
| 82 | |
| 83 | var fq map[imagetype.Type]int |
| 84 | |
| 85 | err := errors.Join( |
| 86 | svgErr, |
| 87 | IMGPROXY_WATERMARK_OPACITY.Parse(&c.WatermarkOpacity), |
| 88 | IMGPROXY_DISABLE_SHRINK_ON_LOAD.Parse(&c.DisableShrinkOnLoad), |
| 89 | IMGPROXY_USE_LINEAR_COLORSPACE.Parse(&c.UseLinearColorspace), |
| 90 | IMGPROXY_ALWAYS_RASTERIZE_SVG.Parse(&c.AlwaysRasterizeSvg), |
| 91 | IMGPROXY_QUALITY.Parse(&c.Quality), |
| 92 | IMGPROXY_FORMAT_QUALITY.Parse(&fq), |
| 93 | IMGPROXY_STRIP_METADATA.Parse(&c.StripMetadata), |
| 94 | IMGPROXY_KEEP_COPYRIGHT.Parse(&c.KeepCopyright), |
| 95 | IMGPROXY_STRIP_COLOR_PROFILE.Parse(&c.StripColorProfile), |
| 96 | IMGPROXY_AUTO_ROTATE.Parse(&c.AutoRotate), |
| 97 | IMGPROXY_ENFORCE_THUMBNAIL.Parse(&c.EnforceThumbnail), |
| 98 | IMGPROXY_PRESERVE_HDR.Parse(&c.PreserveHDR), |
| 99 | |
| 100 | IMGPROXY_PREFERRED_FORMATS.Parse(&c.PreferredFormats), |
| 101 | IMGPROXY_SKIP_PROCESSING_FORMATS.Parse(&c.SkipProcessingFormats), |
| 102 | ) |
| 103 | |
| 104 | maps.Copy(c.FormatQuality, fq) |
| 105 | |
| 106 | return c, err |
| 107 | } |
| 108 | |
| 109 | // Validate checks if the configuration is valid |
| 110 | func (c *Config) Validate() error { |
no test coverage detected