working commit

This commit is contained in:
2026-02-27 03:14:24 +02:00
parent 19b173357a
commit 7de22e3816
19 changed files with 827 additions and 150 deletions
+39
View File
@@ -0,0 +1,39 @@
package client
import (
"context"
"errors"
"io"
)
func Copy(ctx context.Context, writer io.Writer, reader io.Reader) (int64, error) {
var err error
var size int64
var halt bool
buffer := make([]byte, 1024*4)
for {
select {
case <-ctx.Done():
err = errors.New("Break copy by context")
break
default:
}
rsize, err := reader.Read(buffer)
if err == io.EOF {
err = nil
halt = true
}
if err != nil {
return size, err
}
wsize, err := writer.Write(buffer[0:rsize])
size += int64(wsize)
if err != nil {
return size, err
}
if halt {
break
}
}
return size, err
}