From 29b6316188343cd27caf51c544cd5b0654940dcf Mon Sep 17 00:00:00 2001 From: Malachy Byrne Date: Fri, 5 May 2023 20:28:04 +0100 Subject: [PATCH 1/2] Added dynamic endpoints for GET and POST to modules --- src/backend/cmd/main.go | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/src/backend/cmd/main.go b/src/backend/cmd/main.go index f989b57..52035fe 100644 --- a/src/backend/cmd/main.go +++ b/src/backend/cmd/main.go @@ -66,13 +66,14 @@ func getSchema(c echo.Context) error { log.Fatalf("Failed to print Body: %v", err) } - return c.JSONBlob(http.StatusOK, body) + return c.JSONBlob(resp.StatusCode, body) } -func getStats(c echo.Context) error { - key := c.Param("container") +func getComponent(c echo.Context) error { + container := c.Param("container") + component := c.Param("component") - requestURL := fmt.Sprintf("http://%s:8080", key) + requestURL := fmt.Sprintf("https://%s:8080/component/%s", container, component) resp, err := http.Get(requestURL) if err != nil { log.Fatalf("Request to container failed: %v", err) @@ -88,6 +89,25 @@ func getStats(c echo.Context) error { return c.JSONBlob(http.StatusOK, body) } +func postComponent(c echo.Context) error { + container := c.Param("container") + component := c.Param("component") + + requestURL := fmt.Sprintf("https://%s:8080/component/%s", container, component) + resp, err := http.Post(requestURL, "application/json", c.Request().Body) + if err != nil { + log.Fatalf("Request to container failed: %v", err) + } + + defer resp.Body.Close() + + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + log.Fatalf("Failed to print Body: %v", err) + } + + return c.JSONBlob(http.StatusOK, body) +} func GetModules(db *sql.DB) echo.HandlerFunc { return func(c echo.Context) error { @@ -226,7 +246,8 @@ func main() { e := echo.New() e.GET("/", homePage) e.GET("/:container/schema", getSchema) - e.GET("/:container/stats", getStats) + e.GET("/component/:container/:component", getComponent) + e.POST("/component/:container/:component", postComponent) e.GET("/modules", GetModules(db)) e.POST("/user/register", RegisterUser(db)) e.POST("/user/login", LoginUser(db, jwtSecret)) From c953c2a0f18bdb3d4fdcb4d3f3549e2082735993 Mon Sep 17 00:00:00 2001 From: Malachy Byrne Date: Fri, 5 May 2023 21:19:22 +0100 Subject: [PATCH 2/2] changed protocol used in dynamic endpoints --- src/backend/cmd/main.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/cmd/main.go b/src/backend/cmd/main.go index 52035fe..79428f6 100644 --- a/src/backend/cmd/main.go +++ b/src/backend/cmd/main.go @@ -73,7 +73,7 @@ func getComponent(c echo.Context) error { container := c.Param("container") component := c.Param("component") - requestURL := fmt.Sprintf("https://%s:8080/component/%s", container, component) + requestURL := fmt.Sprintf("http://%s:8080/component/%s", container, component) resp, err := http.Get(requestURL) if err != nil { log.Fatalf("Request to container failed: %v", err) @@ -93,7 +93,7 @@ func postComponent(c echo.Context) error { container := c.Param("container") component := c.Param("component") - requestURL := fmt.Sprintf("https://%s:8080/component/%s", container, component) + requestURL := fmt.Sprintf("http://%s:8080/component/%s", container, component) resp, err := http.Post(requestURL, "application/json", c.Request().Body) if err != nil { log.Fatalf("Request to container failed: %v", err)