From a30c4db6bfb8dc76e482b960ca546cf82c15ab52 Mon Sep 17 00:00:00 2001
From: "ivan.rigo" <ivan.rigo@etu.hesge.ch>
Date: Thu, 24 Nov 2022 22:48:35 +0100
Subject: [PATCH] Added Com,Need TLV working

---
 web-service-gin/Storage1/Garbage.py    |  0
 web-service-gin/Storage1/Important.txt |  0
 web-service-gin/main.go                | 87 ++++++++++++++++++++------
 3 files changed, 67 insertions(+), 20 deletions(-)
 create mode 100644 web-service-gin/Storage1/Garbage.py
 create mode 100644 web-service-gin/Storage1/Important.txt

diff --git a/web-service-gin/Storage1/Garbage.py b/web-service-gin/Storage1/Garbage.py
new file mode 100644
index 0000000..e69de29
diff --git a/web-service-gin/Storage1/Important.txt b/web-service-gin/Storage1/Important.txt
new file mode 100644
index 0000000..e69de29
diff --git a/web-service-gin/main.go b/web-service-gin/main.go
index 7beac34..0edc100 100644
--- a/web-service-gin/main.go
+++ b/web-service-gin/main.go
@@ -1,39 +1,86 @@
 package main
 
 import (
-    "net/http"
-    "github.com/gin-gonic/gin"
-    "fmt"
-    "os"
+	"fmt"
+	"io/ioutil"
+	"log"
+	"net/http"
+	"os"
+	"strconv"
+
+	"github.com/gin-gonic/gin"
 )
 
+var arrFile []string
+var idServ string
+var port string
+
 // album represents data about a record album.
 type album struct {
-    ID     string  `json:"id"`
-    Title  string  `json:"title"`
-    Artist string  `json:"artist"`
-    Price  float64 `json:"price"`
+	ID     string `json:"id"`
+	Neighb []int  `json:"price"`
 }
 
 // albums slice to seed record album data.
 var albums = []album{
-    {ID: "1", Title: "Blue Train", Artist: "John Coltrane",Price},
-    {ID: "2", Title: "Jeru", Artist: "Gerry Mulligan", Price: 17.99},
-    {ID: "3", Title: "Sarah Vaughan and Clifford Brown", Artist: "Sarah Vaughan", Price: 39.99},
+	{ID: "1", Neighb: []int{2, 3, 4}},
+	{ID: "2", Neighb: []int{1, 5, 6}},
+	{ID: "3", Neighb: []int{1, 6, 7}},
+	{ID: "4", Neighb: []int{1, 7}},
+	{ID: "5", Neighb: []int{2, 6}},
+	{ID: "6", Neighb: []int{2, 3, 5}},
+	{ID: "7", Neighb: []int{3, 4}},
 }
 
-// getAlbums responds with the list of all albums as JSON.
-func getAlbums(c *gin.Context) {
-    c.IndentedJSON(http.StatusOK, albums)
-    fmt.Println("Test")
+func reqNeighb(c *gin.Context) {
+	for i := 0; i < len(albums); i++ {
+		if albums[i].ID == idServ {
+			for j := 0; j < len(albums[i].Neighb); j++ {
+				resp, err := http.Get("http://localhost:808" + strconv.Itoa(albums[i].Neighb[j]) + "/req/" + idServ + "/" + strconv.Itoa(j))
+				printErr(err)
+				fmt.Println(resp.Status)
+			}
+		}
+	}
+	//c.IndentedJSON(http.StatusOK, albums)
 }
 
+func receiveReq(c *gin.Context) {
+	fmt.Println(c.Param("parent"))
+	fmt.Println(c.Param("tlv"))
+	c.Status(http.StatusOK)
+}
+
+func printErr(err error) {
+	if err != nil {
+		log.Fatal(err)
+	}
+}
 
 func main() {
-    argsWithoutProg := os.Args[1:]
-    fmt.Println(argsWithoutProg[0])
-    router := gin.Default()
-    router.GET("/albums", getAlbums)
 
-    router.Run("localhost:8080")
+	idServ = os.Args[1]
+
+	nbIdServ, err := strconv.Atoi(idServ)
+	files, err := ioutil.ReadDir("Storage1/")
+	printErr(err)
+
+	for _, file := range files {
+		arrFile = append(arrFile, file.Name())
+	}
+	port = strconv.Itoa(8080 + nbIdServ)
+
+	router := gin.Default()
+	router.GET("/req", reqNeighb)
+	router.GET("/req/:parent/:tlv", receiveReq)
+	fmt.Println(port)
+
+	/*
+	   resp, err := http.Get("http://localhost:8080/req")
+	   printErr(err)
+	   body, err := ioutil.ReadAll(resp.Body)
+	   printErr(err)
+	   fmt.Println(body)
+	*/
+	router.Run("localhost:" + port)
 }
-- 
GitLab