From 0b302e41abc055819c77c97a65af801cbdba470e Mon Sep 17 00:00:00 2001
From: "ivan.rigo" <ivan.rigo@etu.hesge.ch>
Date: Wed, 30 Nov 2022 16:30:11 +0100
Subject: [PATCH] Added Yaml, need more fix and doc

---
 web-service-gin/Gnutella.go | 46 +++++++++++++++++++++++++++----------
 web-service-gin/go.mod      |  1 +
 web-service-gin/go.sum      |  2 ++
 3 files changed, 37 insertions(+), 12 deletions(-)

diff --git a/web-service-gin/Gnutella.go b/web-service-gin/Gnutella.go
index aeac7b5..c9fd41c 100644
--- a/web-service-gin/Gnutella.go
+++ b/web-service-gin/Gnutella.go
@@ -11,10 +11,24 @@ import (
 	"sync"
 
 	"github.com/gin-gonic/gin"
+	"gopkg.in/yaml.v2"
 )
 
+type nodeData struct {
+	ID         int         `yaml:"id"`
+	Address    string      `yaml:"address"`
+	Neighbours []Neighbors `yaml:"neighbors"`
+}
+
+type Neighbors struct {
+	ID      int    `yaml:"id"`
+	Address string `yaml:"address"`
+}
+
+var data nodeData
 var storage []string
 var idServ string
+var addressCur string
 var transmitter int
 var msgId = 0
 var err error
@@ -123,25 +137,33 @@ func foundReq(c *gin.Context) {
 func printErr(err error) {
 	if err != nil {
 		log.Fatal(err)
+		os.Exit(1)
 	}
 }
 
 func main() {
 
-	idServ = os.Args[1]
-
-	nbIdServ, err := strconv.Atoi(idServ)
-	files, err := ioutil.ReadDir("Storage" + idServ + "/")
+	neighborsFile := os.Args[1]
+	idServ = os.Args[2]
+	buf, err := ioutil.ReadFile(neighborsFile)
+	err = yaml.Unmarshal(buf, &data)
 	printErr(err)
+	addressCur = data.Address
 
-	for _, file := range files {
-		storage = append(storage, file.Name())
-	}
+	/*
+		nbIdServ, err := strconv.Atoi(idServ)
+		files, err := ioutil.ReadDir("Storage" + idServ + "/")
+		printErr(err)
+
+		for _, file := range files {
+			storage = append(storage, file.Name())
+		}
 
-	router := gin.Default()
-	router.GET("/initReq/:tlv/:ressource", initReq)
-	router.GET("/req/:transmitter/:tlv/:msgId/:ressource", receiveReq)
-	router.GET("/foundReq/:finder/:ressource", foundReq)
+		router := gin.Default()
+		router.GET("/initReq/:tlv/:ressource", initReq)
+		router.GET("/req/:transmitter/:tlv/:msgId/:ressource", receiveReq)
+		router.GET("/foundReq/:finder/:ressource", foundReq)
 
-	router.Run("localhost:" + strconv.Itoa(basePort+nbIdServ))
+		router.Run("localhost:" + strconv.Itoa(basePort+nbIdServ))
+	*/
 }
diff --git a/web-service-gin/go.mod b/web-service-gin/go.mod
index eb0f396..5797fc8 100644
--- a/web-service-gin/go.mod
+++ b/web-service-gin/go.mod
@@ -23,4 +23,5 @@ require (
 	golang.org/x/text v0.3.6 // indirect
 	google.golang.org/protobuf v1.28.0 // indirect
 	gopkg.in/yaml.v2 v2.4.0 // indirect
+	gopkg.in/yaml.v3 v3.0.1 // indirect
 )
diff --git a/web-service-gin/go.sum b/web-service-gin/go.sum
index c81df80..68f629f 100644
--- a/web-service-gin/go.sum
+++ b/web-service-gin/go.sum
@@ -73,3 +73,5 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
 gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-- 
GitLab