Github user dcelasun commented on a diff in the pull request: https://github.com/apache/thrift/pull/1375#discussion_r140900375 --- Diff: lib/go/thrift/zlib_transport.go --- @@ -39,12 +40,26 @@ type TZlibTransport struct { // GetTransport constructs a new instance of NewTZlibTransport func (p *TZlibTransportFactory) GetTransport(trans TTransport) (TTransport, error) { + if p.factory != nil { + // wrap other factory + var err error + trans, err = p.factory.GetTransport(trans) + if err != nil { + return nil, err + } + } return NewTZlibTransport(trans, p.level) } // NewTZlibTransportFactory constructs a new instance of NewTZlibTransportFactory func NewTZlibTransportFactory(level int) *TZlibTransportFactory { - return &TZlibTransportFactory{level: level} + return &TZlibTransportFactory{level: level, factory: nil} +} + +// NewTZlibTransportFactory constructs a new instance of NewTZlibTransportFactory --- End diff -- The second `NewTZlibTransportFactory` should be `TZlibTransportFactory`
---