Skip to content

Commit c7985c5

Browse files
authored
Merge pull request #494 from docker/fix/hijack/interface
fix(chore/ipc): change from ReadWriteCloser to ReadWriter interface
2 parents 3717adf + 04c21dd commit c7985c5

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

plugin/config_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ func Test_newCfgForManualLaunch(t *testing.T) {
114114
// as in the context of where this function is used we don't care.
115115
func runUncheckedDummyAcceptor(logger logging.Logger, listener net.Listener) {
116116
httpMux := http.NewServeMux()
117-
httpMux.Handle(ipc.NewHijackAcceptor(logger, func(context.Context, io.ReadWriteCloser) {}))
117+
httpMux.Handle(ipc.NewHijackAcceptor(logger, func(context.Context, io.ReadWriter) {}))
118118
server := &http.Server{Handler: httpMux}
119119
go func() {
120120
_ = server.Serve(listener)

x/ipc/hijack.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ type CloseWriter interface {
9595
}
9696

9797
type hijackHandler struct {
98-
cb func(ctx context.Context, closer io.ReadWriteCloser)
98+
cb func(ctx context.Context, rw io.ReadWriter)
9999
ackTimeout time.Duration
100100
logger logging.Logger
101101
}
@@ -163,6 +163,6 @@ func (h *hijackHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
163163
}
164164
}
165165

166-
func NewHijackAcceptor(logger logging.Logger, cb func(context.Context, io.ReadWriteCloser)) (string, http.Handler) {
166+
func NewHijackAcceptor(logger logging.Logger, cb func(context.Context, io.ReadWriter)) (string, http.Handler) {
167167
return hijackPath, &hijackHandler{logger: logger, cb: cb, ackTimeout: hijackTimeout}
168168
}

x/ipc/hijack_test.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ func Test_hijacking(t *testing.T) {
3939
t.Cleanup(func() { l.Close() })
4040

4141
httpMux := http.NewServeMux()
42-
ch := make(chan io.ReadWriteCloser)
42+
ch := make(chan io.ReadWriter)
4343
wait := make(chan struct{})
4444
once := sync.OnceFunc(func() { close(wait) })
4545
defer once()
46-
httpMux.Handle(NewHijackAcceptor(testhelper.TestLogger(t), func(_ context.Context, closer io.ReadWriteCloser) {
46+
httpMux.Handle(NewHijackAcceptor(testhelper.TestLogger(t), func(_ context.Context, closer io.ReadWriter) {
4747
ch <- closer
4848
<-wait
4949
}))
@@ -68,7 +68,6 @@ func Test_hijacking(t *testing.T) {
6868
assert.Equal(t, "ping", readLine(connServer))
6969
assert.NoError(t, writeLine(connServer, "pong"))
7070
assert.Equal(t, "pong", readLine(connHijacked))
71-
assert.NoError(t, connServer.Close())
7271
assert.NoError(t, connHijacked.Close())
7372
once()
7473

@@ -93,7 +92,7 @@ func TestHijackify_hijackRequest_timeout(t *testing.T) {
9392
assert.ErrorContains(t, err, "i/o timeout")
9493
}
9594

96-
func readLine(conn io.ReadWriteCloser) string {
95+
func readLine(conn io.Reader) string {
9796
r := bufio.NewReader(conn)
9897
line, err := r.ReadString('\n')
9998
if err != nil {
@@ -102,7 +101,7 @@ func readLine(conn io.ReadWriteCloser) string {
102101
return strings.TrimRight(line, "\r\n ")
103102
}
104103

105-
func writeLine(conn io.ReadWriteCloser, line string) error {
104+
func writeLine(conn io.Writer, line string) error {
106105
_, err := conn.Write([]byte(line + "\r\n"))
107106
return err
108107
}

0 commit comments

Comments
 (0)