Commit 7babed0d authored by gaoshiyao's avatar gaoshiyao

更新路由设置

parent 07037c98
......@@ -7,7 +7,7 @@ var (
)
var ProxyConf = struct {
UUID string `json:"uuid"`
MeshId string `json:"meshId"`
Url string `json:"url"`
Method string `json:"method"`
Params []Param `json:"params"`
......
......@@ -12,9 +12,9 @@ func GetCount(c *gin.Context) {
if err != nil {
c.Error(err)
}
ic, err := redis.Get("bgproxy" + config.ProxyConf.UUID)
ic, err := redis.Get("bgproxy" + config.ProxyConf.MeshId)
c.JSON(200, gin.H{
"Key": fmt.Sprintf("bgproxy" + config.ProxyConf.UUID),
"Key": fmt.Sprintf("bgproxy" + config.ProxyConf.MeshId),
"Count": ic,
})
}
......@@ -76,7 +76,7 @@ func count() error {
if err != nil {
return err
}
ic, err := redis.Incr("bgproxy" + config.ProxyConf.UUID)
ic, err := redis.Incr("bgproxy" + config.ProxyConf.MeshId)
_, err = ic.Result()
return err
}
package tools
import (
"errors"
"fmt"
"io/ioutil"
"net"
"net/http"
"strings"
)
//ProxySend , http请求
func ProxySend(incomingReq *http.Request, sendType string, url string, body string, header map[string]string) (result []byte, err error) {
client := &http.Client{}
var outgoingReq *http.Request
if len(body) > 0 {
outgoingReq, err = http.NewRequest(sendType, url, strings.NewReader(body))
if err != nil {
fmt.Println(err)
}
} else {
outgoingReq, _ = http.NewRequest(sendType, url, nil)
}
if header == nil {
header = make(map[string]string)
}
if incomingReq != nil {
b3Headers := getForwardHeaders(incomingReq)
for k, v := range b3Headers {
header[k] = v
}
}
for k, v := range header {
outgoingReq.Header.Set(k, v)
}
resp, err := client.Do(outgoingReq)
if err != nil {
return nil, err
} else {
defer resp.Body.Close()
body, erra := ioutil.ReadAll(resp.Body)
return body, erra
}
}
//ProxySend , http请求
func ProxySendRes(incomingReq *http.Request, sendType string, url string, body string, header map[string]string) (result *http.Response, err error) {
client := &http.Client{}
var outgoingReq *http.Request
if len(body) > 0 {
outgoingReq, err = http.NewRequest(sendType, url, strings.NewReader(body))
if err != nil {
fmt.Println(err)
}
} else {
outgoingReq, _ = http.NewRequest(sendType, url, nil)
}
if header == nil {
header = make(map[string]string)
}
if incomingReq != nil {
b3Headers := getForwardHeaders(incomingReq)
for k, v := range b3Headers {
header[k] = v
}
}
for k, v := range header {
outgoingReq.Header.Set(k, v)
}
resp, err := client.Do(outgoingReq)
return resp, err
}
//GetCookieStr , 获取cookie字符串
func GetCookieStr(req *http.Request) (str string, err error) {
cookies := req.Cookies()
_, err = req.Cookie("awetoken")
if err != nil {
err = errors.New("用户未登录")
return "", err
} else {
for _, v := range cookies {
str += v.Name + "=" + v.Value + ";"
}
return str, nil
}
}
func getForwardHeaders(incomingReq *http.Request) map[string]string {
headers := make(map[string]string)
xRequestID := incomingReq.Header.Get("x-request-id")
if len(xRequestID) > 0 {
headers["x-request-id"] = incomingReq.Header.Get("x-request-id")
headers["x-b3-traceid"] = incomingReq.Header.Get("x-b3-traceid")
headers["x-b3-spanid"] = incomingReq.Header.Get("x-b3-spanid")
if len(incomingReq.Header.Get("x-b3-parentspanid")) > 0 {
headers["x-b3-parentspanid"] = incomingReq.Header.Get("x-b3-parentspanid")
}
headers["x-b3-sampled"] = incomingReq.Header.Get("x-b3-sampled")
if len(incomingReq.Header.Get("x-b3-flags")) > 0 {
headers["x-b3-flags"] = incomingReq.Header.Get("x-b3-flags")
}
if len(incomingReq.Header.Get("x-ot-span-context")) > 0 {
headers["x-ot-span-context"] = incomingReq.Header.Get("x-ot-span-context")
}
}
return headers
}
//获取ip地址
func RemoteIp(req *http.Request) string {
remoteAddr := req.RemoteAddr
if ip := req.Header.Get("X-Real-Ip"); ip != "" {
remoteAddr = ip
} else if ip = req.Header.Get("X-Forwarded-For"); ip != "" {
remoteAddr = ip
} else {
remoteAddr, _, _ = net.SplitHostPort(remoteAddr)
}
if remoteAddr == "::1" {
remoteAddr = "127.0.0.1"
}
return remoteAddr
}
//获取mac地址
func GetMac() (macAddrs string) {
netInterfaces, err := net.Interfaces()
if err != nil {
fmt.Printf("fail to get net interfaces: %v", err)
return macAddrs
}
for _, netInterface := range netInterfaces {
macAddr := netInterface.HardwareAddr.String()
if len(macAddr) == 0 {
continue
}
macAddrs += macAddr + ";"
}
rs := []rune(macAddrs)
macAddrs = string(rs[:len(rs)-1])
return macAddrs
}
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