File: debug.go

package info (click to toggle)
golang-github-rclone-ftp 1.0.0-220913-160-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 200 kB
  • sloc: makefile: 2
file content (37 lines) | stat: -rw-r--r-- 656 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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()
}