NONRTRIC-946: Add support for Kong routes
[nonrtric/plt/sme.git] / servicemanager / internal / discoverserviceapi / discoverserviceapi-client.gen.go
diff --git a/servicemanager/internal/discoverserviceapi/discoverserviceapi-client.gen.go b/servicemanager/internal/discoverserviceapi/discoverserviceapi-client.gen.go
new file mode 100644 (file)
index 0000000..2d09d8f
--- /dev/null
@@ -0,0 +1,406 @@
+// Package discoverserviceapi provides primitives to interact with the openapi HTTP API.
+//
+// Code generated by github.com/deepmap/oapi-codegen version v1.10.1 DO NOT EDIT.
+package discoverserviceapi
+
+import (
+       "context"
+       "encoding/json"
+       "fmt"
+       "io/ioutil"
+       "net/http"
+       "net/url"
+       "strings"
+
+       "github.com/deepmap/oapi-codegen/pkg/runtime"
+)
+
+// RequestEditorFn  is the function signature for the RequestEditor callback function
+type RequestEditorFn func(ctx context.Context, req *http.Request) error
+
+// Doer performs HTTP requests.
+//
+// The standard http.Client implements this interface.
+type HttpRequestDoer interface {
+       Do(req *http.Request) (*http.Response, error)
+}
+
+// Client which conforms to the OpenAPI3 specification for this service.
+type Client struct {
+       // The endpoint of the server conforming to this interface, with scheme,
+       // https://api.deepmap.com for example. This can contain a path relative
+       // to the server, such as https://api.deepmap.com/dev-test, and all the
+       // paths in the swagger spec will be appended to the server.
+       Server string
+
+       // Doer for performing requests, typically a *http.Client with any
+       // customized settings, such as certificate chains.
+       Client HttpRequestDoer
+
+       // A list of callbacks for modifying requests which are generated before sending over
+       // the network.
+       RequestEditors []RequestEditorFn
+}
+
+// ClientOption allows setting custom parameters during construction
+type ClientOption func(*Client) error
+
+// Creates a new Client, with reasonable defaults
+func NewClient(server string, opts ...ClientOption) (*Client, error) {
+       // create a client with sane default values
+       client := Client{
+               Server: server,
+       }
+       // mutate client and add all optional params
+       for _, o := range opts {
+               if err := o(&client); err != nil {
+                       return nil, err
+               }
+       }
+       // ensure the server URL always has a trailing slash
+       if !strings.HasSuffix(client.Server, "/") {
+               client.Server += "/"
+       }
+       // create httpClient, if not already present
+       if client.Client == nil {
+               client.Client = &http.Client{}
+       }
+       return &client, nil
+}
+
+// WithHTTPClient allows overriding the default Doer, which is
+// automatically created using http.Client. This is useful for tests.
+func WithHTTPClient(doer HttpRequestDoer) ClientOption {
+       return func(c *Client) error {
+               c.Client = doer
+               return nil
+       }
+}
+
+// WithRequestEditorFn allows setting up a callback function, which will be
+// called right before sending the request. This can be used to mutate the request.
+func WithRequestEditorFn(fn RequestEditorFn) ClientOption {
+       return func(c *Client) error {
+               c.RequestEditors = append(c.RequestEditors, fn)
+               return nil
+       }
+}
+
+// The interface specification for the client above.
+type ClientInterface interface {
+       // GetAllServiceAPIs request
+       GetAllServiceAPIs(ctx context.Context, params *GetAllServiceAPIsParams, reqEditors ...RequestEditorFn) (*http.Response, error)
+}
+
+func (c *Client) GetAllServiceAPIs(ctx context.Context, params *GetAllServiceAPIsParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
+       req, err := NewGetAllServiceAPIsRequest(c.Server, params)
+       if err != nil {
+               return nil, err
+       }
+       req = req.WithContext(ctx)
+       if err := c.applyEditors(ctx, req, reqEditors); err != nil {
+               return nil, err
+       }
+       return c.Client.Do(req)
+}
+
+// NewGetAllServiceAPIsRequest generates requests for GetAllServiceAPIs
+func NewGetAllServiceAPIsRequest(server string, params *GetAllServiceAPIsParams) (*http.Request, error) {
+       var err error
+
+       serverURL, err := url.Parse(server)
+       if err != nil {
+               return nil, err
+       }
+
+       operationPath := fmt.Sprintf("/allServiceAPIs")
+       if operationPath[0] == '/' {
+               operationPath = "." + operationPath
+       }
+
+       queryURL, err := serverURL.Parse(operationPath)
+       if err != nil {
+               return nil, err
+       }
+
+       queryValues := queryURL.Query()
+
+       if queryFrag, err := runtime.StyleParamWithLocation("form", true, "api-invoker-id", runtime.ParamLocationQuery, params.ApiInvokerId); err != nil {
+               return nil, err
+       } else if parsed, err := url.ParseQuery(queryFrag); err != nil {
+               return nil, err
+       } else {
+               for k, v := range parsed {
+                       for _, v2 := range v {
+                               queryValues.Add(k, v2)
+                       }
+               }
+       }
+
+       if params.ApiName != nil {
+
+               if queryFrag, err := runtime.StyleParamWithLocation("form", true, "api-name", runtime.ParamLocationQuery, *params.ApiName); err != nil {
+                       return nil, err
+               } else if parsed, err := url.ParseQuery(queryFrag); err != nil {
+                       return nil, err
+               } else {
+                       for k, v := range parsed {
+                               for _, v2 := range v {
+                                       queryValues.Add(k, v2)
+                               }
+                       }
+               }
+
+       }
+
+       if params.ApiVersion != nil {
+
+               if queryFrag, err := runtime.StyleParamWithLocation("form", true, "api-version", runtime.ParamLocationQuery, *params.ApiVersion); err != nil {
+                       return nil, err
+               } else if parsed, err := url.ParseQuery(queryFrag); err != nil {
+                       return nil, err
+               } else {
+                       for k, v := range parsed {
+                               for _, v2 := range v {
+                                       queryValues.Add(k, v2)
+                               }
+                       }
+               }
+
+       }
+
+       if params.CommType != nil {
+
+               if queryFrag, err := runtime.StyleParamWithLocation("form", true, "comm-type", runtime.ParamLocationQuery, *params.CommType); err != nil {
+                       return nil, err
+               } else if parsed, err := url.ParseQuery(queryFrag); err != nil {
+                       return nil, err
+               } else {
+                       for k, v := range parsed {
+                               for _, v2 := range v {
+                                       queryValues.Add(k, v2)
+                               }
+                       }
+               }
+
+       }
+
+       if params.Protocol != nil {
+
+               if queryFrag, err := runtime.StyleParamWithLocation("form", true, "protocol", runtime.ParamLocationQuery, *params.Protocol); err != nil {
+                       return nil, err
+               } else if parsed, err := url.ParseQuery(queryFrag); err != nil {
+                       return nil, err
+               } else {
+                       for k, v := range parsed {
+                               for _, v2 := range v {
+                                       queryValues.Add(k, v2)
+                               }
+                       }
+               }
+
+       }
+
+       if params.AefId != nil {
+
+               if queryFrag, err := runtime.StyleParamWithLocation("form", true, "aef-id", runtime.ParamLocationQuery, *params.AefId); err != nil {
+                       return nil, err
+               } else if parsed, err := url.ParseQuery(queryFrag); err != nil {
+                       return nil, err
+               } else {
+                       for k, v := range parsed {
+                               for _, v2 := range v {
+                                       queryValues.Add(k, v2)
+                               }
+                       }
+               }
+
+       }
+
+       if params.DataFormat != nil {
+
+               if queryFrag, err := runtime.StyleParamWithLocation("form", true, "data-format", runtime.ParamLocationQuery, *params.DataFormat); err != nil {
+                       return nil, err
+               } else if parsed, err := url.ParseQuery(queryFrag); err != nil {
+                       return nil, err
+               } else {
+                       for k, v := range parsed {
+                               for _, v2 := range v {
+                                       queryValues.Add(k, v2)
+                               }
+                       }
+               }
+
+       }
+
+       if params.ApiCat != nil {
+
+               if queryFrag, err := runtime.StyleParamWithLocation("form", true, "api-cat", runtime.ParamLocationQuery, *params.ApiCat); err != nil {
+                       return nil, err
+               } else if parsed, err := url.ParseQuery(queryFrag); err != nil {
+                       return nil, err
+               } else {
+                       for k, v := range parsed {
+                               for _, v2 := range v {
+                                       queryValues.Add(k, v2)
+                               }
+                       }
+               }
+
+       }
+
+       if params.PreferredAefLoc != nil {
+
+               if queryParamBuf, err := json.Marshal(*params.PreferredAefLoc); err != nil {
+                       return nil, err
+               } else {
+                       queryValues.Add("preferred-aef-loc", string(queryParamBuf))
+               }
+
+       }
+
+       if params.SupportedFeatures != nil {
+
+               if queryFrag, err := runtime.StyleParamWithLocation("form", true, "supported-features", runtime.ParamLocationQuery, *params.SupportedFeatures); err != nil {
+                       return nil, err
+               } else if parsed, err := url.ParseQuery(queryFrag); err != nil {
+                       return nil, err
+               } else {
+                       for k, v := range parsed {
+                               for _, v2 := range v {
+                                       queryValues.Add(k, v2)
+                               }
+                       }
+               }
+
+       }
+
+       if params.ApiSupportedFeatures != nil {
+
+               if queryFrag, err := runtime.StyleParamWithLocation("form", true, "api-supported-features", runtime.ParamLocationQuery, *params.ApiSupportedFeatures); err != nil {
+                       return nil, err
+               } else if parsed, err := url.ParseQuery(queryFrag); err != nil {
+                       return nil, err
+               } else {
+                       for k, v := range parsed {
+                               for _, v2 := range v {
+                                       queryValues.Add(k, v2)
+                               }
+                       }
+               }
+
+       }
+
+       queryURL.RawQuery = queryValues.Encode()
+
+       req, err := http.NewRequest("GET", queryURL.String(), nil)
+       if err != nil {
+               return nil, err
+       }
+
+       return req, nil
+}
+
+func (c *Client) applyEditors(ctx context.Context, req *http.Request, additionalEditors []RequestEditorFn) error {
+       for _, r := range c.RequestEditors {
+               if err := r(ctx, req); err != nil {
+                       return err
+               }
+       }
+       for _, r := range additionalEditors {
+               if err := r(ctx, req); err != nil {
+                       return err
+               }
+       }
+       return nil
+}
+
+// ClientWithResponses builds on ClientInterface to offer response payloads
+type ClientWithResponses struct {
+       ClientInterface
+}
+
+// NewClientWithResponses creates a new ClientWithResponses, which wraps
+// Client with return type handling
+func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error) {
+       client, err := NewClient(server, opts...)
+       if err != nil {
+               return nil, err
+       }
+       return &ClientWithResponses{client}, nil
+}
+
+// WithBaseURL overrides the baseURL.
+func WithBaseURL(baseURL string) ClientOption {
+       return func(c *Client) error {
+               newBaseURL, err := url.Parse(baseURL)
+               if err != nil {
+                       return err
+               }
+               c.Server = newBaseURL.String()
+               return nil
+       }
+}
+
+// ClientWithResponsesInterface is the interface specification for the client with responses above.
+type ClientWithResponsesInterface interface {
+       // GetAllServiceAPIs request
+       GetAllServiceAPIsWithResponse(ctx context.Context, params *GetAllServiceAPIsParams, reqEditors ...RequestEditorFn) (*GetAllServiceAPIsResponse, error)
+}
+
+type GetAllServiceAPIsResponse struct {
+       Body         []byte
+       HTTPResponse *http.Response
+       JSON200      *DiscoveredAPIs
+}
+
+// Status returns HTTPResponse.Status
+func (r GetAllServiceAPIsResponse) Status() string {
+       if r.HTTPResponse != nil {
+               return r.HTTPResponse.Status
+       }
+       return http.StatusText(0)
+}
+
+// StatusCode returns HTTPResponse.StatusCode
+func (r GetAllServiceAPIsResponse) StatusCode() int {
+       if r.HTTPResponse != nil {
+               return r.HTTPResponse.StatusCode
+       }
+       return 0
+}
+
+// GetAllServiceAPIsWithResponse request returning *GetAllServiceAPIsResponse
+func (c *ClientWithResponses) GetAllServiceAPIsWithResponse(ctx context.Context, params *GetAllServiceAPIsParams, reqEditors ...RequestEditorFn) (*GetAllServiceAPIsResponse, error) {
+       rsp, err := c.GetAllServiceAPIs(ctx, params, reqEditors...)
+       if err != nil {
+               return nil, err
+       }
+       return ParseGetAllServiceAPIsResponse(rsp)
+}
+
+// ParseGetAllServiceAPIsResponse parses an HTTP response from a GetAllServiceAPIsWithResponse call
+func ParseGetAllServiceAPIsResponse(rsp *http.Response) (*GetAllServiceAPIsResponse, error) {
+       bodyBytes, err := ioutil.ReadAll(rsp.Body)
+       defer func() { _ = rsp.Body.Close() }()
+       if err != nil {
+               return nil, err
+       }
+
+       response := &GetAllServiceAPIsResponse{
+               Body:         bodyBytes,
+               HTTPResponse: rsp,
+       }
+
+       switch {
+       case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
+               var dest DiscoveredAPIs
+               if err := json.Unmarshal(bodyBytes, &dest); err != nil {
+                       return nil, err
+               }
+               response.JSON200 = &dest
+
+       }
+
+       return response, nil
+}