Ben il y a 1 an
Parent
commit
9188231dea
3 fichiers modifiés avec 7 ajouts et 7 suppressions
  1. 3 2
      cmd/slave.go
  2. 1 0
      internal/dto/request.go
  3. 3 5
      internal/server/server.go

+ 3 - 2
cmd/slave.go

@@ -31,9 +31,10 @@ func main() {
 		log.Fatalf("can not read resp, err: %+v", err)
 	}
 	countryCode := gjson.Get(string(bs), "country_code").String()
-	log.Printf("get country code: %s", countryCode)
+	ip := gjson.Get(string(bs), "ip").String()
+	log.Printf("ipinfo: %s", string(bs))
 
-	request := dto.RegisterRequest{CountryCode: countryCode, Secret: buf.String()}
+	request := dto.RegisterRequest{Ip: ip, CountryCode: countryCode, Secret: buf.String()}
 	body, err := json.Marshal(request)
 	if err != nil {
 		log.Printf("err: %+v", err)

+ 1 - 0
internal/dto/request.go

@@ -1,6 +1,7 @@
 package dto
 
 type RegisterRequest struct {
+	Ip          string `json:"ip"`
 	CountryCode string `json:"countryCode"`
 	Secret      string `json:"secret"`
 }

+ 3 - 5
internal/server/server.go

@@ -18,8 +18,6 @@ func Register(c *gin.Context) {
 	locker.Lock()
 	defer locker.Unlock()
 
-	ip := c.RemoteIP()
-
 	var request dto.RegisterRequest
 	if err := c.ShouldBindJSON(&request); err != nil {
 		dto.BadRequest(c, err)
@@ -27,8 +25,8 @@ func Register(c *gin.Context) {
 	}
 
 	for _, node := range nodes {
-		if node.Ip == ip {
-			node.Ip = ip
+		if node.Ip == request.Ip {
+			node.Ip = request.Ip
 			node.Secret = request.Secret
 			node.CountryCode = request.CountryCode
 			node.LastUpdateTime = time.Now()
@@ -42,7 +40,7 @@ func Register(c *gin.Context) {
 		}
 	}
 	node := &model.Node{
-		Ip:             ip,
+		Ip:             request.Ip,
 		Secret:         request.Secret,
 		LastUpdateTime: time.Now(),
 	}