1
0
mirror of https://github.com/coalaura/up.git synced 2025-07-17 21:44:35 +00:00

msgpack and streaming

This commit is contained in:
Laura
2025-06-20 16:10:38 +02:00
parent 28fad96c76
commit 602e327d03
8 changed files with 143 additions and 98 deletions

35
client/progress.go Normal file
View File

@ -0,0 +1,35 @@
package main
import (
"io"
"github.com/coalaura/progress"
)
type ProgressReader struct {
io.Reader
bar *progress.Bar
}
func NewProgressReader(label string, total int64, reader io.Reader) *ProgressReader {
bar := progress.NewProgressBarWithTheme(label, total, progress.ThemeDots)
bar.Start()
return &ProgressReader{
Reader: reader,
bar: bar,
}
}
func (pr *ProgressReader) Read(p []byte) (int, error) {
n, err := pr.Reader.Read(p)
pr.bar.IncrementBy(int64(n))
return n, err
}
func (pr *ProgressReader) Close() {
pr.bar.Stop()
}