connectionの読み込みにio.Copyでハマってしまったので
どなたかの役に立てれば。。
io.Copy
io.Copy の挙動はこちらによると
Copy copies from src to dst until either EOF is reached on src or an error occurs. It returns the number of bytes copied and the first error encountered while copying, if any.
となっており、 EOF もしくは エラー が返るまでcopyしてくれる。
ConnectionにおけるEOF
読み込みを考えると、
connectionがcloseし切断された時に io.EOF が返ってくる。
そのため、io.Copyで読み込む際は送信側でconnectionをClose()している必要がある。