From 6b886f8123fee6f71d559ffa3ee11bc4bfa95bce Mon Sep 17 00:00:00 2001 From: qydysky Date: Tue, 5 Mar 2024 11:47:19 +0800 Subject: [PATCH] 1 --- config.go | 38 +++++--------------------------------- main.go | 4 ++-- 2 files changed, 7 insertions(+), 35 deletions(-) diff --git a/config.go b/config.go index f51e9a8..6389150 100755 --- a/config.go +++ b/config.go @@ -2,7 +2,6 @@ package front import ( "context" - "crypto/md5" "crypto/tls" "errors" "fmt" @@ -89,19 +88,13 @@ func (t *Config) Run(ctx context.Context, logger Logger) { } } - if len(backIs) == 0 { - backIs = append(backIs, route.FiliterBackByRequest(r)...) - } + backIs = append(backIs, route.FiliterBackByRequest(r)...) if len(backIs) == 0 { w.WriteHeader(http.StatusNotFound) return } - rand.Shuffle(len(backIs), func(i, j int) { - backIs[i], backIs[j] = backIs[j], backIs[i] - }) - var e error if r.Header.Get("Upgrade") == "websocket" { e = wsDealer(ctx1, w, r, route.Path, backIs, logger, t.BlocksI) @@ -253,6 +246,9 @@ func (t *Route) FiliterBackByRequest(r *http.Request) []*Back { } } } + rand.Shuffle(len(backLink), func(i, j int) { + backLink[i], backLink[j] = backLink[j], backLink[i] + }) return backLink } @@ -272,32 +268,8 @@ type Back struct { ResHeader []Header `json:"resHeader"` } -// func (t *Back) Init() (e error) { -// for i := 0; i < len(t.MatchHeader); i++ { -// e = t.MatchHeader[i].Init() -// if e != nil { -// return e -// } -// } -// for i := 0; i < len(t.ReqHeader); i++ { -// e = t.ReqHeader[i].Init() -// if e != nil { -// return e -// } -// } -// for i := 0; i < len(t.ResHeader); i++ { -// e = t.ResHeader[i].Init() -// if e != nil { -// return e -// } -// } -// return -// } - func (t *Back) Id() string { - w := md5.New() - w.Write([]byte(t.Name + t.To)) - return fmt.Sprintf("%x", w.Sum(nil)) + return fmt.Sprintf("%p", t) } func Matched(matchHeader []Header, r *http.Request) bool { diff --git a/main.go b/main.go index 528dd2a..b3d35fb 100755 --- a/main.go +++ b/main.go @@ -126,7 +126,7 @@ func httpDealer(ctx context.Context, w http.ResponseWriter, r *http.Request, rou ) for 0 < len(backs) && resp == nil { - chosenBack = backs[nanotime1()%int64(len(backs))] + chosenBack = backs[0] backs = backs[1:] url := chosenBack.To @@ -226,7 +226,7 @@ func wsDealer(ctx context.Context, w http.ResponseWriter, r *http.Request, route ) for 0 < len(backs) && (resp == nil || conn == nil) { - chosenBack = backs[nanotime1()%int64(len(backs))] + chosenBack = backs[0] backs = backs[1:] url := chosenBack.To -- 2.39.2