feat(callback): add the param of error of callback
This commit is contained in:
parent
be862559bc
commit
cc8f912c82
15
client.go
15
client.go
|
@ -15,11 +15,15 @@ import (
|
|||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
func init() {
|
||||
log.SetFlags(log.Llongfile | log.LstdFlags)
|
||||
}
|
||||
|
||||
// Callback 发送代理连接获取内容后的回调函数
|
||||
type Callback struct {
|
||||
label string
|
||||
hash string
|
||||
Do func(tid, content string)
|
||||
Do func(tid, content string, err error)
|
||||
}
|
||||
|
||||
// Client 客户端
|
||||
|
@ -111,7 +115,7 @@ func (cli *Client) SetHost(host string) {
|
|||
}
|
||||
|
||||
// Register 注册基础信息
|
||||
func (cli *Client) Register(label string, callback func(tid, content string)) *Label {
|
||||
func (cli *Client) Register(label string, callback func(tid, content string, err error)) *Label {
|
||||
cb := Callback{Do: callback, hash: uuid.New().String()}
|
||||
if _, ok := cli.register.Load(label); ok {
|
||||
log.Panic("label: ", label, " is exists")
|
||||
|
@ -151,7 +155,12 @@ func (cli *Client) Connect() {
|
|||
callback := f.(Callback)
|
||||
if tid, ok := c.GetPostForm("taskid"); ok {
|
||||
content := c.PostForm("content")
|
||||
callback.Do(tid, content)
|
||||
errorStr := c.PostForm("error")
|
||||
var err error = nil
|
||||
if errorStr != "" {
|
||||
err = fmt.Errorf(errorStr)
|
||||
}
|
||||
callback.Do(tid, content, err)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
|
@ -9,16 +9,20 @@ import (
|
|||
func TestPort(t *testing.T) {
|
||||
cli := New("http://localhost:7123")
|
||||
|
||||
ltest := cli.Register("test", func(tid, content string) {
|
||||
log.Println(tid, content)
|
||||
ltest := cli.Register("test", func(tid, content string, err error) {
|
||||
if err != nil {
|
||||
log.Println("error:", err)
|
||||
} else {
|
||||
log.Println(tid, content)
|
||||
}
|
||||
|
||||
})
|
||||
ltest.SetContentConditionFromFile("example.js")
|
||||
cli.Connect()
|
||||
log.Println(ltest.Open("https://playerduo.com/api/playerDuo-service-v2/rip113?lang=en&deviceType=browser"))
|
||||
log.Println(ltest.Open("https://playerduo.com/api/playerDuo-service-v2/yanngu?lang=en&deviceType=browser"))
|
||||
// log.Println(ltest.Open("https://playerduo.com/api/playerDuo-service-v2/rip113?lang=en&deviceType=browser"))
|
||||
// log.Println(ltest.Open("https://playerduo.com/api/playerDuo-service-v2/yanngu?lang=en&deviceType=browser"))
|
||||
log.Println(ltest.Open("https://playerduo.com/api/playerDuo-service-v2/rip113?lang=en&deviceType=browser"))
|
||||
log.Println(ltest.Open("https://playerduo.com/api/playerDuo-service-v2/yanngu?lang=en&deviceType=browser"))
|
||||
http.ListenAndServe(":42311", nil)
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
function condition() {
|
||||
condition = function () {
|
||||
var href = window.location.href;
|
||||
var content = document.documentElement.innerHTML;
|
||||
return href.startsWith("https://playerduo.com") && content.startsWith('<ad></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">')
|
||||
return href.startsWith("https://playerduo.com") && content.startsWith('<head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">')
|
||||
}
|
Loading…
Reference in New Issue
Block a user