diff --git a/pkg/plugin/implementation/router/router.go b/pkg/plugin/implementation/router/router.go index f9316b0..52e628b 100644 --- a/pkg/plugin/implementation/router/router.go +++ b/pkg/plugin/implementation/router/router.go @@ -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 -} diff --git a/pkg/plugin/implementation/router/router_test.go b/pkg/plugin/implementation/router/router_test.go index 7688066..8ee777e 100644 --- a/pkg/plugin/implementation/router/router_test.go +++ b/pkg/plugin/implementation/router/router_test.go @@ -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",