Как ограничить скорость загрузки и загрузки с сервера в golang?
Я пишу сервер golang, чтобы пользователи могли загружать и скачивать файлы. И файл большой, около 1 Гбайт байт. Я хочу ограничить скорость загрузки и загрузки до (например) 1 МБ/с (настраивается, конечно).
ниже - мой код загрузки:
func uploadFile(w http.ResponseWriter, r *http.Request) {
file, _, err := r.FormFile("file")
if err != nil {
http.Error(w, err.Error(), 500)
return
}
defer file.Close()
os.MkdirAll(`e:\test`, os.ModePerm)
out, err := os.Create(`e:\test\test.mpg`)
if err != nil {
http.Error(w, err.Error(), 500)
return
}
defer out.Close()
_, err = io.Copy(out, file)
if err != nil {
http.Error(w, err.Error(), 500)
}
}