X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=inline;f=capifcore%2Finternal%2Finvokermanagementapi%2Ftypevalidation.go;h=be29481bba455eec6a24b1f048ec86d0e9539bc7;hb=refs%2Fchanges%2F18%2F10318%2F2;hp=b12ddfbb859758eb6c03cbb2b85e917083fab20b;hpb=b8e717a8c264a8b3f73626fc28c81ae65283ae80;p=nonrtric%2Fplt%2Fsme.git diff --git a/capifcore/internal/invokermanagementapi/typevalidation.go b/capifcore/internal/invokermanagementapi/typevalidation.go index b12ddfb..be29481 100644 --- a/capifcore/internal/invokermanagementapi/typevalidation.go +++ b/capifcore/internal/invokermanagementapi/typevalidation.go @@ -22,6 +22,8 @@ package invokermanagementapi import ( "errors" + "fmt" + "net/url" ) func (ied *APIInvokerEnrolmentDetails) Validate() error { @@ -29,6 +31,10 @@ func (ied *APIInvokerEnrolmentDetails) Validate() error { return errors.New("APIInvokerEnrolmentDetails missing required NotificationDestination") } + if _, err := url.ParseRequestURI(string(ied.NotificationDestination)); err != nil { + return fmt.Errorf("APIInvokerEnrolmentDetails has invalid NotificationDestination, err=%s", err) + } + if ied.OnboardingInformation.ApiInvokerPublicKey == "" { return errors.New("APIInvokerEnrolmentDetails missing required OnboardingInformation.ApiInvokerPublicKey") }