MCPcopy Index your code
hub / github.com/passteque/gluetun / Validate

Method Validate

internal/httpserver/settings.go:75–110  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

73)
74
75func (s Settings) Validate() (err error) {
76 err = validate.ListeningAddress(s.Address, os.Getuid())
77 if err != nil {
78 return err
79 }
80
81 if s.Handler == nil {
82 return fmt.Errorf("%w", ErrHandlerIsNotSet)
83 }
84
85 if s.Logger == nil {
86 return fmt.Errorf("%w", ErrLoggerIsNotSet)
87 }
88
89 const minReadTimeout = time.Millisecond
90 if s.ReadHeaderTimeout < minReadTimeout {
91 return fmt.Errorf("%w: %s must be at least %s",
92 ErrReadHeaderTimeoutTooSmall,
93 s.ReadHeaderTimeout, minReadTimeout)
94 }
95
96 if s.ReadTimeout < minReadTimeout {
97 return fmt.Errorf("%w: %s must be at least %s",
98 ErrReadTimeoutTooSmall,
99 s.ReadTimeout, minReadTimeout)
100 }
101
102 const minShutdownTimeout = 5 * time.Millisecond
103 if s.ShutdownTimeout < minShutdownTimeout {
104 return fmt.Errorf("%w: %s must be at least %s",
105 ErrShutdownTimeoutTooSmall,
106 s.ShutdownTimeout, minShutdownTimeout)
107 }
108
109 return nil
110}
111
112func (s Settings) ToLinesNode() (node *gotree.Node) {
113 node = gotree.New("HTTP server settings:")

Callers 2

NewFunction · 0.45
Test_Settings_ValidateFunction · 0.45

Calls 1

ErrorfMethod · 0.65

Tested by 1

Test_Settings_ValidateFunction · 0.36