|
@@ -3,12 +3,16 @@ package io
|
|
|
func Pipe(reader Reader, writer Writer) error {
|
|
func Pipe(reader Reader, writer Writer) error {
|
|
|
for {
|
|
for {
|
|
|
buffer, err := reader.Read()
|
|
buffer, err := reader.Read()
|
|
|
- if buffer.Len() > 0 {
|
|
|
|
|
- err = writer.Write(buffer)
|
|
|
|
|
- } else {
|
|
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return nil
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if buffer.IsEmpty() {
|
|
|
buffer.Release()
|
|
buffer.Release()
|
|
|
|
|
+ continue
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ err = writer.Write(buffer)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil
|
|
return nil
|
|
|
}
|
|
}
|