refactor: general-node and map-node to use flotte types for service registration

This commit is contained in:
2025-02-11 15:17:34 +01:00
parent eec969fc75
commit 88caecde51
8 changed files with 146 additions and 28 deletions

View File

@@ -1,13 +1,57 @@
package mapnode
import "github.com/gin-gonic/gin"
import (
"bytes"
"encoding/json"
"fmt"
"log"
"net/http"
"github.com/alexohneander/flotte/pkg/types/request"
"github.com/gin-gonic/gin"
)
func Start() {
err := registerAsMapNode()
if err != nil {
panic(err)
}
router := gin.Default()
router.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
router = registerRoutes(router)
router.Run("localhost:4000") // listen and serve on 0.0.0.0:4000
}
func registerAsMapNode() error {
// http post request to general-node
serviceRegisterReq := request.ServiceRegister{
Name: "map-01",
NodeType: "map",
Address: "localhost",
Port: 4000,
}
json_data, err := json.Marshal(serviceRegisterReq)
if err != nil {
log.Fatal(err)
return err
}
resp, err := http.Post("http://localhost:8000/service", "application/json",
bytes.NewBuffer(json_data))
if err != nil {
log.Fatal(err)
return err
}
defer resp.Body.Close()
var res map[string]interface{}
json.NewDecoder(resp.Body).Decode(&res)
fmt.Println(res)
return nil
}