From 9353c55d1dcd9cd7342b12a28022b41d4eb492b9 Mon Sep 17 00:00:00 2001 From: Gary Murphy Date: Sat, 15 Apr 2023 23:21:15 +0100 Subject: [PATCH] API Gatway updated, now communicates with frontend --- src/PanoptesFrontend/Pages/TestCard.razor | 10 ++++ src/PanoptesFrontend/Pages/TestRequest.razor | 10 ++-- src/PanoptesFrontend/Shared/NavMenu.razor | 2 +- src/backend/cmd/main.go | 61 +++++++++----------- 4 files changed, 44 insertions(+), 39 deletions(-) create mode 100644 src/PanoptesFrontend/Pages/TestCard.razor diff --git a/src/PanoptesFrontend/Pages/TestCard.razor b/src/PanoptesFrontend/Pages/TestCard.razor new file mode 100644 index 0000000..13fccaf --- /dev/null +++ b/src/PanoptesFrontend/Pages/TestCard.razor @@ -0,0 +1,10 @@ +
+
+

@Data.Text

+
+
+ +@code { + [Parameter] + public Component Data { get; set; } +} diff --git a/src/PanoptesFrontend/Pages/TestRequest.razor b/src/PanoptesFrontend/Pages/TestRequest.razor index e5edd4c..24ea4c6 100644 --- a/src/PanoptesFrontend/Pages/TestRequest.razor +++ b/src/PanoptesFrontend/Pages/TestRequest.razor @@ -4,7 +4,7 @@ @using System.Text.Json; @inject IHttpService httpService -@* @if (data != null) +@if (data != null) { @foreach (var component in data) { switch (component.Type) { @@ -27,16 +27,16 @@ } } -} *@ +} -
@response.Text
@code { - private Component response; + private Component[] data; protected override async Task OnInitializedAsync() { - response = await httpService.GetAsync("http://localhost:8080/test"); + var response = await httpService.GetAsync("http://localhost:10000/localhost/schema"); + data = response.components; } } diff --git a/src/PanoptesFrontend/Shared/NavMenu.razor b/src/PanoptesFrontend/Shared/NavMenu.razor index 06be8a8..f2799c9 100644 --- a/src/PanoptesFrontend/Shared/NavMenu.razor +++ b/src/PanoptesFrontend/Shared/NavMenu.razor @@ -17,7 +17,7 @@ { @foreach (var module in response){ diff --git a/src/backend/cmd/main.go b/src/backend/cmd/main.go index 958d7f3..ebc3d73 100644 --- a/src/backend/cmd/main.go +++ b/src/backend/cmd/main.go @@ -31,7 +31,6 @@ type Module struct { Container string `json:"Container"` } -var Containers []Container func homePage(w http.ResponseWriter, r *http.Request) { @@ -42,50 +41,46 @@ func getSchema(w http.ResponseWriter, r *http.Request){ vars := mux.Vars(r) key := vars["container"] - for _, container := range Containers { - if container.Id == key { - requestURL := fmt.Sprintf("http://%s:%s/schema", container.Name, container.port) - resp, err := http.Get(requestURL) - if err != nil { - log.Fatal("Request to container failed: %v", err) - } - defer resp.Body.Close() - - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - log.Fatal("Failed to print Body: %v", err) - } - - fmt.Fprintf(w,string(body)) - } + requestURL := fmt.Sprintf("http://%s:8080/schema", key) + resp, err := http.Get(requestURL) + if err != nil { + log.Fatal("Request to container failed: %v", err) } + defer resp.Body.Close() + + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + log.Fatal("Failed to print Body: %v", err) + } + + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(resp.StatusCode) + w.Write(body) } func getStats(w http.ResponseWriter, r *http.Request){ vars := mux.Vars(r) key := vars["container"] - for _, container := range Containers { - if container.Id == key { - requestURL := fmt.Sprintf("http://%s:%s/stats", container.Name, container.port) - resp, err := http.Get(requestURL) - if err != nil { - log.Fatal("Request to container failed: %v", err) - } - defer resp.Body.Close() - - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - log.Fatal("Failed to print Body: %v", err) - } - - fmt.Fprintf(w,string(body)) - } + requestURL := fmt.Sprintf("http://%s:8080/stats", key) + resp, err := http.Get(requestURL) + if err != nil { + log.Fatal("Request to container failed: %v", err) } + defer resp.Body.Close() + + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + log.Fatal("Failed to print Body: %v", err) + } + + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(resp.StatusCode) + w.Write(body) }