/
githubmirror
/
client
Обзор
Документация
Войти
/
githubmirror
/
client
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
go/release/github/file.go
45 строк
860 B
zoom-ua
gofumpt (#28710)
17 дек 2025, 17:16
Не верифицирован
17 дек 2025, 17:16
cda510b
Код
Авторство
О чём код?
// Modified from https://github.com/aktau/github-release/blob/master/file.go package github import ( "fmt" "io" "os" ) func getFileSize(f *os.File) (int64, error) { /* first try stat */ off, err := fsizeStat(f) if err != nil { /* if that fails, try seek */ return fsizeSeek(f) } return off, nil } func fsizeStat(f *os.File) (int64, error) { fi, err := f.Stat() if err != nil { return 0, err } return fi.Size(), nil } func fsizeSeek(f io.Seeker) (int64, error) { off, err := f.Seek(0, 2) if err != nil { return 0, fmt.Errorf("seeking did not work, stdin is not" + "supported yet because github doesn't support chunking" + "requests (and I haven't implemented detecting stdin and" + "buffering yet") } _, err = f.Seek(0, 0) if err != nil { return 0, fmt.Errorf("could not seek back in the file") } return off, nil }