MCPcopy Create free account
hub / github.com/imgproxy/imgproxy / Init

Function Init

init.go:16–44  ·  view source on GitHub ↗

Init performs the global resources initialization. This should be done once per process.

(ctx context.Context)

Source from the content-addressed store, hash-verified

14
15// Init performs the global resources initialization. This should be done once per process.
16func Init(ctx context.Context) error {
17 if err := env.Load(ctx); err != nil {
18 return err
19 }
20
21 logCfg, logErr := logger.LoadConfigFromEnv(nil)
22 if logErr != nil {
23 return logErr
24 }
25
26 // Initialize logger as early as possible to log further initialization steps
27 if err := logger.Init(logCfg); err != nil {
28 return err
29 }
30
31 maxprocs.Set(maxprocs.Logger(func(msg string, args ...any) {
32 slog.Debug(fmt.Sprintf(msg, args...))
33 }))
34
35 vipsCfg, err := vips.LoadConfigFromEnv(nil)
36 if err != nil {
37 return err
38 }
39 if vipsErr := vips.Init(vipsCfg); vipsErr != nil {
40 return vipsErr
41 }
42
43 return nil
44}
45
46// Shutdown performs global cleanup
47func Shutdown() {

Callers

nothing calls this directly

Calls 6

LoadFunction · 0.92
LoadConfigFromEnvFunction · 0.92
InitFunction · 0.92
LoadConfigFromEnvFunction · 0.92
InitFunction · 0.92
SetMethod · 0.45

Tested by

no test coverage detected