On Tue, Feb 5, 2019 at 9:41 AM Robert Engels <reng...@ix.netcom.com> wrote: > > GetNested anything is a sign something is broken in the API. The whole point > of being nested is almost always encapsulation and then you are breaking it.
That's too much of a generalization in my opinion. This is more like decoration, adding new functionality at every layer, but there is no way to expose all the functionality of the nested thing, so you need to expose the thing itself. > > > On Feb 5, 2019, at 10:30 AM, Burak Serdar <bser...@ieee.org> wrote: > > > >> On Tue, Feb 5, 2019 at 9:12 AM <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. > > > > When the first request is created, req.Body is set to a NopCloser, and > > that doesn't match any of the cases in the second NewRequest. For this > > to work, I guess the best way is to get the body length and set it > > explicitly after constructing the second request. > > > > I don't know if this is intentional or not, but in general, it might > > be a good idea to add a ReaderWrapper interface to the standard > > library that defines a GetNestedReader() io.Reader function to access > > the real reader from these utility classes. > > > >> > >> 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.