Commit f78d2a6f authored by gaoshiyao's avatar gaoshiyao

修改时空服务代理

parent bd171517
...@@ -70,16 +70,35 @@ func Proxy(c *gin.Context) { ...@@ -70,16 +70,35 @@ func Proxy(c *gin.Context) {
Return(res) Return(res)
return nil return nil
})) }))
query := "" c.Request.URL = testutils.ParseURI(getProxyURL(proxyData.RealUrl, c.Request))
if proxyData.Data_service_type1 == 2 { c.Request.RequestURI = getRequestURI(c.Request)
query = "?f=json" c.Request.Host = getHost(proxyData.RealUrl)
}
c.Request.URL = testutils.ParseURI(proxyData.RealUrl + query)
c.Request.RequestURI = proxyData.RealUrl + query
c.Request.Host = getHost(proxyData.RealUrl + query)
f.ServeHTTP(c.Writer, c.Request) f.ServeHTTP(c.Writer, c.Request)
} }
func getProxyURL(realPath string, req *http.Request) string {
rawQuery := req.URL.RawQuery
var result = ""
if rawQuery == "" {
result = realPath + "?f=json"
} else {
result = realPath + "?" + rawQuery
}
return result
}
func getRequestURI(req *http.Request) string {
path := req.URL.Path
rawQuery := req.URL.RawQuery
var result = ""
if rawQuery == "" {
result = path
} else {
result = path + "?" + rawQuery
}
return result
}
func Return(res interface{}) { func Return(res interface{}) {
var b []byte var b []byte
......
...@@ -10,6 +10,7 @@ type ProxyData struct { ...@@ -10,6 +10,7 @@ type ProxyData struct {
Service_id int `json:"service_id" xorm:"service_id"` Service_id int `json:"service_id" xorm:"service_id"`
User_id string `json:"user_id" xorm:"user_id"` User_id string `json:"user_id" xorm:"user_id"`
Data_service_type1 int `json:"data_service_type1" xorm:"data_service_type1"` Data_service_type1 int `json:"data_service_type1" xorm:"data_service_type1"`
Name string `json:"name"`
} }
type WebRes struct { type WebRes struct {
......
...@@ -386,11 +386,12 @@ func GetRealPath(applyId string) (res model.ProxyData, err error) { ...@@ -386,11 +386,12 @@ func GetRealPath(applyId string) (res model.ProxyData, err error) {
} }
has, err := db. has, err := db.
Select(`service_apply.res_fields as res_fields,service.req_url as req_url,service_request_spcs.count as count,service_safe_config.sensituve_word as sensituve_word Select(`service_apply.res_fields as res_fields,service.req_url as req_url,service_request_spcs.count as count,service_safe_config.sensituve_word as sensituve_word
,service_request_spcs.sensitive_count as sensitive_count,service_apply.service_id as service_id,service_apply.id as apply_id,service_apply.user_id as user_id,service.data_service_type1`). ,service_request_spcs.sensitive_count as sensitive_count,service_apply.service_id as service_id,service_apply.id as apply_id,service_apply.user_id as user_id,service.data_service_type1,domains.name`).
Table(`service`). Table(`service`).
Join(`inner`, `service_apply`, `service_apply.service_id = service.id`). Join(`inner`, `service_apply`, `service_apply.service_id = service.id`).
Join(`left`, `service_request_spcs`, `service_request_spcs.id = service_apply.request_spcs_id`). Join(`left`, `service_request_spcs`, `service_request_spcs.id = service_apply.request_spcs_id`).
Join(`left`, `service_safe_config`, `service_apply.service_id = service_safe_config.service_id`). Join(`left`, `service_safe_config`, `service_apply.service_id = service_safe_config.service_id`).
Join("inner", "domains", "domains.id = service.data_service_type1").
Where(`service_apply.uuid=?`, applyId).Get(&res) Where(`service_apply.uuid=?`, applyId).Get(&res)
if !has { if !has {
err = errors.New(`未找到发布的服务!`) err = errors.New(`未找到发布的服务!`)
......
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