On Tue, Feb 5, 2019 at 11:20 AM Robert Engels <reng...@ix.netcom.com> wrote:
>
> Then you want inheritance not encapsulation.

No, this is done at runtime, not at compile time.

>
> > On Feb 5, 2019, at 10:46 AM, Burak Serdar <bser...@ieee.org> wrote:
> >
> >> 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.

-- 
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.

Reply via email to