gonet-httptransport

How to add headers info using Transport in golang net/http


I am trying to control keep-alives session to reuse the tcp connection by creating a Trasport.

Here is my snippet and I am not sure how to add headers info for authentication.

url := "http://localhost:8181/api/v1/resource"
tr := &http.Transport{
    DisableKeepAlives:   false,
    MaxIdleConns:        0,
    MaxIdleConnsPerHost: 0,
    IdleConnTimeout:     time.Second * 10,
}
client := &http.Client{Transport: tr}
resp, err := client.Get(url)

Solution

  • Don't mix the Client from the Request.
    The client uses a Transport and run the request: client.Do(req)

    You set header on the http.Request with (h Header) Set(key, value string):

    req.Header.Set("name", "value")