valyala/fasthttp

Request loses host information after calling RequestURI method

Open

#895 aperta il 28 ott 2020

Vedi su GitHub
 (3 commenti) (0 reazioni) (0 assegnatari)Go (1755 fork)batch import
help wanted

Metriche repository

Star
 (21.741 star)
Metriche merge PR
 (Merge medio 3g) (44 PR mergiate in 30 g)

Descrizione

Hello,

First, I would like to thank you for this awesome library.

I'm not sure if this is an issue but I noticed this. On the Request struct, il you call the RequestURI method, the Host method won't return anything after that.

It is really easy to reproduce :

package main

import (
	"github.com/valyala/fasthttp"
)

func main() {
	request := &fasthttp.Request{}
	request.SetRequestURI("http://example.com/test-1")

	println(string(request.Host()))
	println(string(request.RequestURI()))
	println(string(request.Host()))
}

This outpouts :

example.com
/test-1

As it should oupout in my opinion :

example.com
/test-1
example.com

For those who could experience the same issue, a workaround is to call instead :

request.URI().RequestURI()

But I would like to know if this is an issue or if this is the normal behavior. If this is the normal behavior, it should probably be documented :) Otherwise, I might be able to send you a PR to fix this if you want.

Thank you in advance for your help.

Guida contributor