valyala/fasthttp

Request loses host information after calling RequestURI method

Ouverte

#895 ouverte le 28 oct. 2020

 (3 commentaires) (0 réaction) (0 personne assignée)Go (1 755 forks)batch import
help wanted

Métriques du dépôt

Stars
 (21 741 étoiles)
Métriques de merge PR
 (Merge moyen 3j) (44 PRs mergées en 30 j)

Description

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.

Guide contributeur