in http-cache-action/proxy/proxy.go [166:188]
func uploadCacheFromReader(cacheId int, body io.Reader) error {
resourceUrl := getCacheApiUrl(fmt.Sprintf("caches/%d", cacheId))
readBufferSize := int(1024 * 1024)
readBuffer := make([]byte, readBufferSize)
bufferedBodyReader := bufio.NewReaderSize(body, readBufferSize)
bytesUploaded := 0
for {
n, err := bufferedBodyReader.Read(readBuffer)
if n > 0 {
uploadCacheChunk(resourceUrl, readBuffer[:n], bytesUploaded)
bytesUploaded += n
}
if err == io.EOF || n == 0 {
break
}
if err != nil {
return err
}
}
return commitCache(cacheId, bytesUploaded)
}