升级异常机制
This commit is contained in:
parent
00ac83205d
commit
a07bbb7412
20
go.mod
20
go.mod
@ -5,16 +5,16 @@ go 1.24.0
|
|||||||
toolchain go1.24.3
|
toolchain go1.24.3
|
||||||
|
|
||||||
require (
|
require (
|
||||||
apigo.cc/gojs v0.0.28
|
apigo.cc/gojs v0.0.32
|
||||||
apigo.cc/gojs/console v0.0.3
|
apigo.cc/gojs/console v0.0.4
|
||||||
apigo.cc/gojs/file v0.0.6
|
apigo.cc/gojs/file v0.0.8
|
||||||
apigo.cc/gojs/util v0.0.15
|
apigo.cc/gojs/util v0.0.17
|
||||||
github.com/go-rod/rod v0.116.2
|
github.com/go-rod/rod v0.116.2
|
||||||
github.com/gorilla/websocket v1.5.3
|
github.com/gorilla/websocket v1.5.3
|
||||||
github.com/ssgo/config v1.7.10
|
github.com/ssgo/config v1.7.10
|
||||||
github.com/ssgo/httpclient v1.7.8
|
github.com/ssgo/httpclient v1.7.8
|
||||||
github.com/ssgo/log v1.7.9
|
github.com/ssgo/log v1.7.10
|
||||||
github.com/ssgo/s v1.7.24
|
github.com/ssgo/s v1.7.25
|
||||||
github.com/ssgo/u v1.7.23
|
github.com/ssgo/u v1.7.23
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -44,9 +44,9 @@ require (
|
|||||||
github.com/ysmood/gson v0.7.3 // indirect
|
github.com/ysmood/gson v0.7.3 // indirect
|
||||||
github.com/ysmood/leakless v0.9.0 // indirect
|
github.com/ysmood/leakless v0.9.0 // indirect
|
||||||
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
||||||
golang.org/x/crypto v0.44.0 // indirect
|
golang.org/x/crypto v0.46.0 // indirect
|
||||||
golang.org/x/net v0.47.0 // indirect
|
golang.org/x/net v0.48.0 // indirect
|
||||||
golang.org/x/sys v0.38.0 // indirect
|
golang.org/x/sys v0.39.0 // indirect
|
||||||
golang.org/x/text v0.31.0 // indirect
|
golang.org/x/text v0.32.0 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
41
http.go
41
http.go
@ -128,7 +128,10 @@ func setConfig(cli *Http, opt *gojs.Obj) {
|
|||||||
|
|
||||||
func makeResult(r *httpclient.Result, vm *goja.Runtime) goja.Value {
|
func makeResult(r *httpclient.Result, vm *goja.Runtime) goja.Value {
|
||||||
if r.Error != nil {
|
if r.Error != nil {
|
||||||
panic(vm.NewGoError(r.Error))
|
// panic(vm.NewGoError(r.Error))
|
||||||
|
vm.SetData("_lastError", r.Error)
|
||||||
|
gojs.GetLogger(vm).Error(r.Error.Error())
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
headers := map[string]string{}
|
headers := map[string]string{}
|
||||||
for k, v := range r.Response.Header {
|
for k, v := range r.Response.Header {
|
||||||
@ -368,7 +371,10 @@ func (hc *Http) Connect(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
|||||||
}
|
}
|
||||||
return vm.ToValue(gojs.MakeMap(ws))
|
return vm.ToValue(gojs.MakeMap(ws))
|
||||||
} else {
|
} else {
|
||||||
panic(vm.NewGoError(err))
|
// panic(vm.NewGoError(err))
|
||||||
|
vm.SetData("_lastError", err)
|
||||||
|
gojs.GetLogger(vm).Error(err.Error())
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -498,7 +504,10 @@ func (ws *WS) PingCount(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
|||||||
func (ws *WS) Read(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
func (ws *WS) Read(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||||
typ, data, err := readWSMessage(ws.conn)
|
typ, data, err := readWSMessage(ws.conn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(vm.NewGoError(err))
|
// panic(vm.NewGoError(err))
|
||||||
|
vm.SetData("_lastError", err)
|
||||||
|
gojs.GetLogger(vm).Error(err.Error())
|
||||||
|
return vm.ToValue(false)
|
||||||
}
|
}
|
||||||
return vm.ToValue(gojs.Map{
|
return vm.ToValue(gojs.Map{
|
||||||
"type": typ,
|
"type": typ,
|
||||||
@ -559,17 +568,23 @@ func (ws *WS) Write(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
|||||||
err = ws.writeMessage(websocket.TextMessage, u.JsonBytes(args.Any(0)))
|
err = ws.writeMessage(websocket.TextMessage, u.JsonBytes(args.Any(0)))
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(vm.NewGoError(err))
|
// panic(vm.NewGoError(err))
|
||||||
|
vm.SetData("_lastError", err)
|
||||||
|
gojs.GetLogger(vm).Error(err.Error())
|
||||||
|
return vm.ToValue(false)
|
||||||
}
|
}
|
||||||
return nil
|
return vm.ToValue(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ws *WS) Ping(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
func (ws *WS) Ping(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||||
err := ws.writeMessage(websocket.PingMessage, nil)
|
err := ws.writeMessage(websocket.PingMessage, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(vm.NewGoError(err))
|
// panic(vm.NewGoError(err))
|
||||||
|
vm.SetData("_lastError", err)
|
||||||
|
gojs.GetLogger(vm).Error(err.Error())
|
||||||
|
return vm.ToValue(false)
|
||||||
}
|
}
|
||||||
return nil
|
return vm.ToValue(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ws *WS) WriteMessage(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
func (ws *WS) WriteMessage(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||||
@ -592,9 +607,12 @@ func (ws *WS) WriteMessage(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Valu
|
|||||||
err = ws.writeMessage(websocket.TextMessage, args.Bytes(1))
|
err = ws.writeMessage(websocket.TextMessage, args.Bytes(1))
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(vm.NewGoError(err))
|
// panic(vm.NewGoError(err))
|
||||||
|
vm.SetData("_lastError", err)
|
||||||
|
gojs.GetLogger(vm).Error(err.Error())
|
||||||
|
return vm.ToValue(false)
|
||||||
}
|
}
|
||||||
return nil
|
return vm.ToValue(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ws *WS) Close(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
func (ws *WS) Close(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||||
@ -604,7 +622,10 @@ func (ws *WS) Close(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
|||||||
ws.closed = true
|
ws.closed = true
|
||||||
err := ws.conn.Close()
|
err := ws.conn.Close()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(vm.NewGoError(err))
|
// panic(vm.NewGoError(err))
|
||||||
|
vm.SetData("_lastError", err)
|
||||||
|
gojs.GetLogger(vm).Error(err.Error())
|
||||||
|
return vm.ToValue(false)
|
||||||
}
|
}
|
||||||
<-ws.pingStopChan
|
<-ws.pingStopChan
|
||||||
<-ws.closeChan
|
<-ws.closeChan
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user