diff --git a/client.go b/client.go index f74ad0c..4bc92b1 100644 --- a/client.go +++ b/client.go @@ -1079,9 +1079,6 @@ func (c *HostClient) doNonNilReqResp(req *Request, resp *Response) (bool, error) } bw := c.acquireWriter(conn) err = req.Write(bw) - if len(userAgentOld) == 0 { - req.Header.userAgent = userAgentOld - } if resetConnection { req.Header.ResetConnectionClose() diff --git a/client_test.go b/client_test.go index a03dfa2..a754b81 100644 --- a/client_test.go +++ b/client_test.go @@ -17,6 +17,37 @@ import ( "github.com/valyala/fasthttp/fasthttputil" ) +func TestClientUserAgent(t *testing.T) { + ln := fasthttputil.NewInmemoryListener() + + s := &Server{ + Handler: func(ctx *RequestCtx) { + ctx.Write([]byte("response")) + }, + } + go s.Serve(ln) + + userAgent := "I'm not fasthttp" + c := &Client{ + Name: userAgent, + Dial: func(addr string) (net.Conn, error) { + return ln.Dial() + }, + } + req := AcquireRequest() + res := AcquireResponse() + + req.SetRequestURI("http://do.not.worry?we.are.going.to.make.fasthttp.great.again") + + err := c.Do(req, res) + if err != nil { + t.Fatal(err) + } + if ua := string(req.Header.UserAgent()); ua != userAgent { + t.Fatalf("User-Agent defers %s <> %s", ua, userAgent) + } +} + func TestClientDoWithCustomHeaders(t *testing.T) { // make sure that the client sends all the request headers and body. ln := fasthttputil.NewInmemoryListener()