Commit 78b7028e authored by 张宇迪's avatar 张宇迪

服务调用(未实计次入库)

parent 8e6b6c9d
......@@ -17,7 +17,7 @@ var Resp *http.Response
func Proxy(c *gin.Context) {
appId := c.Param("appId")
//获取服务相关信息
proxyData, err := service.GetRealPath(appId)
if err != nil {
......@@ -27,14 +27,12 @@ func Proxy(c *gin.Context) {
f, _ := forward.New(forward.PassHostHeader(true), forward.ResponseModifier(func(resp *http.Response) error {
Resp = resp
//判断是否可以调用
callflag, sensitiveflag, err := service.QueryCallsCount(appId, proxyData)
if err != nil {
Return(err.Error())
return nil
}
if callflag == false {
Return(`调用达到当日限定次数`)
return nil
......@@ -45,11 +43,11 @@ func Proxy(c *gin.Context) {
var res interface{}
res = respbody
//是否需要过滤字段
if proxyData.ResFields != "" {
res = service.FiledFilter(proxyData, respbody)
}
//是否需要屏蔽敏感字段
if sensitiveflag == false {
res = service.SensitiveFilter(proxyData, res)
}
......@@ -59,11 +57,8 @@ func Proxy(c *gin.Context) {
}))
c.Request.URL = testutils.ParseURI(proxyData.RealUrl)
c.Request.RequestURI = proxyData.RealUrl
c.Request.Host = getHost(proxyData.RealUrl)
f.ServeHTTP(c.Writer, c.Request)
}
......
......@@ -176,8 +176,18 @@ func FilterSensituveField(model interface{}, returnData interface{}) (body inter
if k == k1 {
//flag = true
switch v.(type) {
case float64:
returnData.(map[string]interface{})[k] = `xxx`
case float32:
returnData.(map[string]interface{})[k] = `xxx`
case int:
returnData.(map[string]interface{})[k] = `xxx`
case bool:
returnData.(map[string]interface{})[k] = `xxx`
case string:
returnData.(map[string]interface{})[k] = `xxx`
default:
}
FilterSensituveField(v, v1)
}
......@@ -197,6 +207,15 @@ func FilterSensituveField(model interface{}, returnData interface{}) (body inter
switch v.(map[string]interface{})[k1].(type) {
case string:
v.(map[string]interface{})[k1] = `xxx`
case float64:
v.(map[string]interface{})[k1] = `xxx`
case float32:
v.(map[string]interface{})[k1] = `xxx`
case int:
v.(map[string]interface{})[k1] = `xxx`
case bool:
v.(map[string]interface{})[k1] = `xxx`
default:
}
FilterSensituveField(v1, v2)
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment