Ai
1 Star 0 Fork 0

saxon134/sysmain

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
controller.sdp.go 1.51 KB
一键复制 编辑 原始数据 按行查看 历史
saxon134 提交于 2024-05-06 10:57 +08:00 . fix
package controller
import (
"encoding/json"
"fmt"
"gitee.com/saxon134/sysmain/api"
"gitee.com/saxon134/sysmain/db"
"gitee.com/saxon134/sysmain/errs"
"gitee.com/saxon134/sysmain/sdp"
"github.com/saxon134/go-utils/saData"
"net/http"
)
func SdpRegisterHandler(w http.ResponseWriter, r *http.Request) {
var query = r.URL.Query()
if checkSign(r) == false {
api.ResError(w, errs.ErrorUnauthorized.Error())
return
}
var in = sdp.Request{}
decoder := json.NewDecoder(r.Body)
_ = decoder.Decode(&in)
//兼容GET方法
if in.App == "" {
in.App = query.Get("app")
}
if in.Host == "" {
in.Host = query.Get("host")
}
if in.Port <= 0 {
in.Port = saData.Int(query.Get("port"))
}
if in.Cpu <= 0 {
in.Cpu, _ = saData.ToFloat32(query.Get("cpu"))
}
if in.Memo <= 0 {
in.Memo, _ = saData.ToFloat32(query.Get("memo"))
}
if in.App == "" || in.Host == "" || in.Port <= 0 {
api.ResError(w, errs.ErrorParams.Error())
return
}
//注册app服务
sdp.Chan <- in
api.ResSuccess(w, nil)
}
func SdpPingHandler(w http.ResponseWriter, r *http.Request) {
SdpRegisterHandler(w, r)
}
func SdpDiscoveryHandler(w http.ResponseWriter, r *http.Request) {
var query = r.URL.Query()
if checkSign(r) == false {
api.ResError(w, errs.ErrorUnauthorized.Error())
return
}
var app = query.Get("app")
if app == "" {
api.ResError(w, errs.ErrorParams.Error())
return
}
var sdpAry = make([]*sdp.Instance, 0, 10)
var key = fmt.Sprintf(sdp.RedisAppKey, app)
_ = db.Redis.GetObj(key, &sdpAry)
api.ResSuccess(w, sdpAry)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/saxon134/sysmain.git
git@gitee.com:saxon134/sysmain.git
saxon134
sysmain
sysmain
7b8c353bc626

搜索帮助