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