contents: write
steps:
- name: Set up Go 1.x
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
go-version: '1.21'
- name: Check out code into the Go module directory
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Set Release Name
run: |
Path string `json:"path"`
Sign string `json:"-"`
Splicing int `json:"splicing"`
+ PathAdd bool `json:"pathAdd"`
Back []Back `json:"back"`
}
To: back.To,
Weight: back.Weight,
ErrBanSec: back.ErrBanSec,
- PathAdd: back.PathAdd,
+ PathAdd: t.PathAdd,
MatchHeader: append([]Header{}, back.MatchHeader...),
ReqHeader: append([]Header{}, back.ReqHeader...),
ResHeader: append([]Header{}, back.ResHeader...),
lock sync.RWMutex
Sign string `json:"-"`
Splicing int `json:"-"`
+ PathAdd bool `json:"-"`
upT time.Time
Name string `json:"name"`
To string `json:"to"`
Weight int `json:"weight"`
ErrBanSec int `json:"errBanSec"`
- PathAdd bool `json:"pathAdd"`
MatchHeader []Header `json:"matchHeader"`
ReqHeader []Header `json:"reqHeader"`
ResHeader []Header `json:"resHeader"`
func httpDealer(ctx context.Context, w http.ResponseWriter, r *http.Request, routePath string, backs []*Back, logger Logger, blocksi pslice.BlocksI[byte]) error {
var (
+ opT = time.Now()
resp *http.Response
chosenBack *Back
)
return errors.New("后端故障")
}
- logger.Error(`T:`, fmt.Sprintf("%s=>%s", routePath, chosenBack.Name))
+ logger.Debug(`T:`, fmt.Sprintf("http %s=>%s %v", routePath, chosenBack.Name, time.Since(opT)))
if validCookieDomain(r.Host) {
w.Header().Add("Set-Cookie", (&http.Cookie{
func wsDealer(ctx context.Context, w http.ResponseWriter, r *http.Request, routePath string, backs []*Back, logger Logger, blocksi pslice.BlocksI[byte]) error {
var (
+ opT = time.Now()
resp *http.Response
conn net.Conn
chosenBack *Back
return errors.New("后端故障")
}
- logger.Error(`T:`, fmt.Sprintf("%s=>%s", routePath, chosenBack.Name))
+ logger.Debug(`T:`, fmt.Sprintf("ws %s=>%s %v", routePath, chosenBack.Name, time.Since(opT)))
if validCookieDomain(r.Host) {
w.Header().Add("Set-Cookie", (&http.Cookie{