File tree Expand file tree Collapse file tree 1 file changed +25
-8
lines changed
receiver/mongodbatlasreceiver Expand file tree Collapse file tree 1 file changed +25
-8
lines changed Original file line number Diff line number Diff line change @@ -131,19 +131,16 @@ var (
131
131
132
132
// Access Logs Errors
133
133
errMaxPageSize = errors .New ("the maximum value for 'page_size' is 20000" )
134
+
135
+ // Config Errors
136
+ errConfigEmptyEndpoint = errors .New ("endpoint must not be empty" )
134
137
)
135
138
136
139
func (c * Config ) Validate () error {
137
140
var errs error
138
141
baseurl := c .BaseURL
139
- if u , err := url .ParseRequestURI (baseurl ); err != nil {
140
- errs = multierr .Append (errs , fmt .Errorf ("base_url is not valid: %w" , err ))
141
- if u .Scheme == "" {
142
- errs = multierr .Append (errs , fmt .Errorf ("base_url must contain a scheme (http or https)" ))
143
- }
144
- if u .Host == "" {
145
- errs = multierr .Append (errs , fmt .Errorf ("base_url must contain a host" ))
146
- }
142
+ if err := validateEndpoint (baseurl ); err != nil {
143
+ return fmt .Errorf ("invalid base_url %q: %w" , baseurl , err )
147
144
}
148
145
149
146
for _ , project := range c .Projects {
@@ -255,3 +252,23 @@ func (e EventsConfig) validate() error {
255
252
}
256
253
return nil
257
254
}
255
+
256
+ func validateEndpoint (endpoint string ) error {
257
+ if endpoint == "" {
258
+ return errConfigEmptyEndpoint
259
+ }
260
+
261
+ u , err := url .Parse (endpoint )
262
+ if err != nil {
263
+ return err
264
+ }
265
+ switch u .Scheme {
266
+ case "http" , "https" :
267
+ default :
268
+ return fmt .Errorf (`invalid scheme %q, expected "http" or "https"` , u .Scheme )
269
+ }
270
+ if u .Host == "" {
271
+ return fmt .Errorf ("host must not be empty" )
272
+ }
273
+ return nil
274
+ }
You can’t perform that action at this time.
0 commit comments