@@ -10,6 +10,7 @@ import (
10
10
"regexp"
11
11
"strconv"
12
12
"strings"
13
+ "time"
13
14
14
15
"github.com/chromedp/chromedp"
15
16
"github.com/ditashi/jsbeautifier-go/jsbeautifier"
@@ -42,6 +43,9 @@ func main() {
42
43
flag .Var (& filters , "filter" , "" )
43
44
flag .Var (& filters , "f" , "" )
44
45
46
+ var verbose bool
47
+ flag .BoolVar (& verbose , "v" , false , "verbose mode" )
48
+
45
49
flag .Parse ()
46
50
47
51
// default to stdin unless we have an arg to use
@@ -57,10 +61,16 @@ func main() {
57
61
58
62
for sc .Scan () {
59
63
ctx , cancel := chromedp .NewContext (parent )
64
+ ctx , cancel = context .WithTimeout (ctx , time .Second * 20 )
65
+
60
66
requestURL := sc .Text ()
61
67
62
68
var res map [string ][]string
63
69
70
+ if verbose {
71
+ fmt .Printf ("requesting %s\n " , requestURL )
72
+ }
73
+
64
74
err := chromedp .Run (ctx ,
65
75
chromedp .Navigate (requestURL ),
66
76
chromedp .EvaluateAsDevTools (`
@@ -78,6 +88,7 @@ func main() {
78
88
79
89
if err != nil {
80
90
cancel ()
91
+ // TODO: handle websocket timeout issue
81
92
fmt .Fprintf (os .Stderr , "%s\n " , err )
82
93
continue
83
94
}
@@ -115,6 +126,9 @@ func main() {
115
126
116
127
if first {
117
128
// we didn't find any matching event listeners
129
+ if verbose {
130
+ fmt .Printf ("no matching listeners on %s\n " , requestURL )
131
+ }
118
132
cancel ()
119
133
continue
120
134
}
0 commit comments