Shouldn’t you just be taking the content length from the header if forwarding the same body. There is no need for the length of the body.
> On Feb 5, 2019, at 6:53 PM, Burak Serdar <bser...@ieee.org> wrote: > >> On Tue, Feb 5, 2019 at 5:18 PM Dan Kortschak <d...@kortschak.io> wrote: >> >> Personally, I think this is a bug in the behaviour of NewRequest. See h >> ttps://github.com/golang/go/issues/18117 for some additional context. > > Agreed. One solution could be to have: > > type HasLen interface { > int Len() > } > > Then have NopCloser return a nopCloser with len if the underlying > implementation has len, with the obvious changes to NewRequest.Ugly, > but can be done without API changes. > > > >> >>> On Tue, 2019-02-05 at 05:18 -0800, matteo.biage...@gmail.com wrote: >>> I've the following situation: >>> I proxy a request to another server and when I made a POST and create >>> a new >>> request, the contentLength is zero: >>> >>> req2, _ := http.NewRequest(req.Method, newApiUrl , req.Body) >>> fmt.Println("New request from body:", req2.ContentLength) // >>> print 0 >>> >>> Checking in the source code of the NewRequest func Body don't respect >>> some >>> interface and populate the ContentLength field. >>> >>> Could be a bug? Which could be a valid approach in order to create a >>> new >>> request from an existing one and correct set the Body length? >>> >>> A working example here: >>> >>> https://play.golang.org/p/SvCDLj0NrXb >>> >>> Thanks! >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.