fix: missing handling of RangeReadCloser (#8146)

This commit is contained in:
hshpy 2025-03-16 22:14:44 +08:00 committed by GitHub
parent d16ba65f42
commit d20f41d687
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -45,7 +45,17 @@ func Proxy(w http.ResponseWriter, r *http.Request, link *model.Link, file model.
if err != nil {
return fmt.Errorf("failed to read markdown content: %w", err)
}
} else if link.RangeReadCloser != nil {
attachHeader(w, file)
rrc, err := link.RangeReadCloser.RangeRead(r.Context(), http_range.Range{Start: 0, Length: -1})
if err != nil {
return err
}
defer rrc.Close()
markdownContent, err = io.ReadAll(rrc)
if err != nil {
return fmt.Errorf("failed to read markdown content: %w", err)
}
} else {
header := net.ProcessHeader(r.Header, link.Header)
res, err := net.RequestHttp(r.Context(), r.Method, header, link.URL)