diff --git a/connect/webConn.go b/connect/webConn.go index 5e95f4398db8f13cbdd1ddc7547133d18860e8fd..1f60905ef0e35e8ae48224e1d81b8ff0bbca1ca9 100644 --- a/connect/webConn.go +++ b/connect/webConn.go @@ -4,6 +4,7 @@ import ( "crypto/tls" "crypto/x509" "net/http" + "net/http/httptrace" "regexp" "strings" "time" @@ -203,29 +204,29 @@ func (wc *webConn) isOnlineHelper(addr string, pingTimeout time.Duration) (time. Transport: tr, Timeout: pingTimeout, } - target := "https://" + addr + target := "https://" + addr + "/mixmessages.Gateway/RequestTlsCert" req, err := http.NewRequest("GET", target, nil) if err != nil { jww.WARN.Printf("Failed to initiate request: %+v", err) return time.Since(start), false } - //trace := &httptrace.ClientTrace{ - // DNSDone: func(dnsInfo httptrace.DNSDoneInfo) { - // jww.TRACE.Printf("DNS Info: %+v\n", dnsInfo) - // }, - // GotConn: func(connInfo httptrace.GotConnInfo) { - // jww.TRACE.Printf("Got Conn: %+v\n", connInfo) - // }, - // GotFirstResponseByte: func() { - // jww.TRACE.Print("Got first byte!") - // }, - //} + trace := &httptrace.ClientTrace{ + DNSDone: func(dnsInfo httptrace.DNSDoneInfo) { + jww.TRACE.Printf("DNS Info: %+v\n", dnsInfo) + }, + GotConn: func(connInfo httptrace.GotConnInfo) { + jww.TRACE.Printf("Got Conn: %+v\n", connInfo) + }, + GotFirstResponseByte: func() { + jww.TRACE.Print("Got first byte!") + }, + } // IMPORTANT - enables better HTTP(S) discovery, because many browsers block CORS by default. req.Header = wc.addHeaders(req.Header) jww.TRACE.Printf("(GO request): %+v", req) - //req = req.WithContext(httptrace.WithClientTrace(req.Context(), trace)) + req = req.WithContext(httptrace.WithClientTrace(req.Context(), trace)) if _, err = client.Do(req); err != nil { jww.TRACE.Printf("(GO error): %s", err.Error()) if checkErrorExceptions(err) {