Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,8 @@ Flags:
--req-timeout=DURATION Timeout for full request writing
--resp-timeout=DURATION Timeout for full response reading
--socks5=ip:port Socks5 proxy
--http-proxy=username:password@ip:port
Set HTTP proxy
--auto-open-browser Specify whether auto open browser to show web charts
--[no-]clean Clean the histogram bar once its finished. Default is true
--output-errors=OUTPUT-ERRORS
Expand Down
2 changes: 2 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ var (
reqWriteTimeout = kingpin.Flag("req-timeout", "Timeout for full request writing").PlaceHolder("DURATION").Duration()
respReadTimeout = kingpin.Flag("resp-timeout", "Timeout for full response reading").PlaceHolder("DURATION").Duration()
socks5 = kingpin.Flag("socks5", "Socks5 proxy").PlaceHolder("ip:port").String()
httpProxy = kingpin.Flag("http-proxy","Set HTTP proxy").PlaceHolder("username:password@ip:port").String()

autoOpenBrowser = kingpin.Flag("auto-open-browser", "Specify whether auto open browser to show web charts").Bool()
clean = kingpin.Flag("clean", "Clean the histogram bar once its finished. Default is true").Default("true").NegatableBool()
Expand Down Expand Up @@ -257,6 +258,7 @@ func main() {
dialTimeout: *dialTimeout,

socks5Proxy: *socks5,
httpProxy: *httpProxy,
contentType: *contentType,
host: *host,
unixSocket: *unixSocket,
Expand Down
3 changes: 3 additions & 0 deletions requester.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ type ClientOpt struct {
dialTimeout time.Duration

socks5Proxy string
httpProxy string
contentType string
host string
unixSocket string
Expand Down Expand Up @@ -210,6 +211,8 @@ func buildRequestClient(opt *ClientOpt, r *int64, w *int64) (*fasthttp.HostClien
httpClient.Dial = func(addr string) (net.Conn, error) {
return net.Dial("unix", opt.unixSocket)
}
} else if opt.httpProxy != "" {
httpClient.Dial = fasthttpproxy.FasthttpHTTPDialerDualStack(opt.httpProxy)
} else {
httpClient.Dial = fasthttpproxy.FasthttpProxyHTTPDialerTimeout(opt.dialTimeout)
}
Expand Down
Loading