| 12345678910111213141516171819202122232425262728293031323334353637 |
- package ftp
- import "io"
- type debugWrapper struct {
- conn io.ReadWriteCloser
- io.Reader
- io.Writer
- }
- func newDebugWrapper(conn io.ReadWriteCloser, w io.Writer) io.ReadWriteCloser {
- return &debugWrapper{
- Reader: io.TeeReader(conn, w),
- Writer: io.MultiWriter(w, conn),
- conn: conn,
- }
- }
- func (w *debugWrapper) Close() error {
- return w.conn.Close()
- }
- type streamDebugWrapper struct {
- io.Reader
- closer io.ReadCloser
- }
- func newStreamDebugWrapper(rd io.ReadCloser, w io.Writer) io.ReadCloser {
- return &streamDebugWrapper{
- Reader: io.TeeReader(rd, w),
- closer: rd,
- }
- }
- func (w *streamDebugWrapper) Close() error {
- return w.closer.Close()
- }
|