Browse Source

Use DumpRequest which includes all headers unlike it did in Go 1.0 instead of the hack to use DumpRequestOut which was limiting raw request body lengths to 8192 bytes. Fixes github issue #4.

Alan Shreve 12 years ago
parent
commit
54751ce313
2 changed files with 1 additions and 8 deletions
  1. 1 1
      src/ngrok/client/views/web/http.go
  2. 0 7
      src/ngrok/proto/http.go

+ 1 - 1
src/ngrok/client/views/web/http.go

@@ -158,7 +158,7 @@ func (whv *WebHttpView) updateHttp() {
 				continue
 			}
 
-			rawReq, err := httputil.DumpRequestOut(htxn.Req.Request, true)
+			rawReq, err := httputil.DumpRequest(htxn.Req.Request, true)
 			if err != nil {
 				log.Error("Failed to dump request: %v", err)
 				continue

+ 0 - 7
src/ngrok/proto/http.go

@@ -7,7 +7,6 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/http/httputil"
-	"net/url"
 	"ngrok/conn"
 	"ngrok/util"
 	"time"
@@ -80,12 +79,6 @@ func (h *Http) readRequests(tee *conn.Tee, lastTxn chan *HttpTxn) {
 			tee.Warn("Failed to extract request body: %v", err)
 		}
 
-		// net/http's ReadRequest doesn't properly create the req.URL
-		// structure, which is needed to properly DumpRequest() later
-		req.URL, err = url.Parse(req.RequestURI)
-		req.URL.Host = req.Host
-		req.URL.Scheme = "http"
-
 		txn := &HttpTxn{Start: time.Now()}
 		txn.Req = &HttpRequest{Request: req}
 		txn.Req.BodyBytes, txn.Req.Body, err = extractBody(req.Body)