+
+func getSwagger(c echo.Context) error {
+ var swagger *openapi3.T
+ var err error
+ switch api := c.Param("apiName"); api {
+ case "provider":
+ swagger, err = providermanagementapi.GetSwagger()
+ case "publish":
+ swagger, err = publishserviceapi.GetSwagger()
+ case "invoker":
+ swagger, err = invokermanagementapi.GetSwagger()
+ case "discover":
+ swagger, err = discoverserviceapi.GetSwagger()
+ case "security":
+ swagger, err = securityapi.GetSwagger()
+ default:
+ return c.JSON(http.StatusBadRequest, getProblemDetails("Invalid API name "+api, http.StatusBadRequest))
+ }
+ if err != nil {
+ return c.JSON(http.StatusInternalServerError, getProblemDetails("Unable to get swagger for API", http.StatusInternalServerError))
+ }
+ return c.JSON(http.StatusOK, swagger)
+}
+
+func getProblemDetails(cause string, status int) common29122.ProblemDetails {
+ return common29122.ProblemDetails{
+ Cause: &cause,
+ Status: &status,
+ }
+}