fixes as per the review comments
This commit is contained in:
@@ -153,10 +153,6 @@ func validateRules(rules []routingRule) error {
|
||||
if rule.Target.URL == "" {
|
||||
return fmt.Errorf("invalid rule: url is required for targetType 'url'")
|
||||
}
|
||||
// Validate HTTPS scheme
|
||||
if err := isValidHTTPSURL(rule.Target.URL); err != nil {
|
||||
return fmt.Errorf("invalid URI %s in request body for url: %v", rule.Target.URL, err)
|
||||
}
|
||||
if _, err := url.Parse(rule.Target.URL); err != nil {
|
||||
return fmt.Errorf("invalid URL - %s: %w", rule.Target.URL, err)
|
||||
}
|
||||
@@ -166,9 +162,6 @@ func validateRules(rules []routingRule) error {
|
||||
}
|
||||
case targetTypeBPP, targetTypeBAP:
|
||||
if rule.Target.URL != "" {
|
||||
if err := isValidHTTPSURL(rule.Target.URL); err != nil {
|
||||
return fmt.Errorf("invalid URI %s in request body for %s: %v", rule.Target.URL, rule.TargetType, err)
|
||||
}
|
||||
if _, err := url.Parse(rule.Target.URL); err != nil {
|
||||
return fmt.Errorf("invalid URL - %s defined in routing config for target type %s: %w", rule.Target.URL, rule.TargetType, err)
|
||||
}
|
||||
@@ -241,9 +234,6 @@ func handleProtocolMapping(route *model.Route, npURI, endpoint string) (*model.R
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
if err := isValidHTTPSURL(target); err != nil {
|
||||
return nil, fmt.Errorf("invalid %s URI - %s in request body for %s: %v", strings.ToUpper(route.TargetType), target, endpoint, err)
|
||||
}
|
||||
targetURL, err := url.Parse(target)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("invalid %s URI - %s in request body for %s: %w", strings.ToUpper(route.TargetType), target, endpoint, err)
|
||||
@@ -258,15 +248,3 @@ func handleProtocolMapping(route *model.Route, npURI, endpoint string) (*model.R
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
// isValidHTTPSURL ensures the provided URL is a valid HTTPS URL.
|
||||
func isValidHTTPSURL(rawURL string) error {
|
||||
parsedURL, err := url.Parse(rawURL)
|
||||
if err != nil {
|
||||
return fmt.Errorf("invalid URL - %s: %v", rawURL, err)
|
||||
}
|
||||
if parsedURL.Scheme != "https" {
|
||||
return fmt.Errorf("URL '%s' must use https scheme", rawURL)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -291,12 +291,12 @@ func TestValidateRulesFailure(t *testing.T) {
|
||||
Version: "1.0.0",
|
||||
TargetType: "url",
|
||||
Target: target{
|
||||
URL: "htp://invalid-url.com", // Invalid scheme
|
||||
URL: "htp:// invalid-url.com", // Invalid scheme
|
||||
},
|
||||
Endpoints: []string{"search"},
|
||||
},
|
||||
},
|
||||
wantErr: "invalid URI htp://invalid-url.com in request body for url: URL 'htp://invalid-url.com' must use https scheme",
|
||||
wantErr: `invalid URI htp:// invalid-url.com in request body for url: invalid URL - htp:// invalid-url.com: parse "htp:// invalid-url.com": invalid character " " in host name`,
|
||||
},
|
||||
{
|
||||
name: "Missing topic_id for targetType: publisher",
|
||||
|
||||
Reference in New Issue
Block a user