fix: fixed bug which caused http.proxy not to parse response changes correctly.

This commit is contained in:
evilsocket 2018-02-11 02:08:56 +01:00
parent 8d6402323f
commit 8a0b29cd30
2 changed files with 11 additions and 7 deletions

View file

@ -24,18 +24,22 @@ type JSResponse struct {
func NewJSResponse(res *http.Response) *JSResponse { func NewJSResponse(res *http.Response) *JSResponse {
cType := "" cType := ""
headers := "" headers := ""
code := 200
for name, values := range res.Header { if res != nil {
for _, value := range values { code = res.StatusCode
if name == "Content-Type" { for name, values := range res.Header {
cType = value for _, value := range values {
if name == "Content-Type" {
cType = value
}
headers += name + ": " + value + "\r\n"
} }
headers += name + ": " + value + "\r\n"
} }
} }
resp := &JSResponse{ resp := &JSResponse{
Status: res.StatusCode, Status: code,
ContentType: cType, ContentType: cType,
Headers: headers, Headers: headers,
resp: res, resp: res,

View file

@ -126,7 +126,7 @@ func (s *ProxyScript) doRequestDefines(req *http.Request) (err error, jsres *JSR
return return
} }
jsres = &JSResponse{} jsres = NewJSResponse(nil)
if err = s.VM.Set("res", jsres); err != nil { if err = s.VM.Set("res", jsres); err != nil {
log.Error("Error while defining response: %s", err) log.Error("Error while defining response: %s", err)
return return