8000 fix: missing handling of RangeReadCloser (#8146) · AlistGo/alist@d20f41d · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Commit d20f41d

Browse files
authored
fix: missing handling of RangeReadCloser (#8146)
1 parent d16ba65 commit d20f41d

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

server/common/proxy.go

+11-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,17 @@ func Proxy(w http.ResponseWriter, r *http.Request, link *model.Link, file model.
4545
if err != nil {
4646
return fmt.Errorf("failed to read markdown content: %w", err)
4747
}
48-
48+
} else if link.RangeReadCloser != nil {
49+
attachHeader(w, file)
50+
rrc, err := link.RangeReadCloser.RangeRead(r.Context(), http_range.Range{Start: 0, Length: -1})
51+
if err != nil {
52+
return err
53+
}
54+
defer rrc.Close()
55+
markdownContent, err = io.ReadAll(rrc)
56+
if err != nil {
57+
return fmt.Errorf("failed to read markdown content: %w", err)
58+
}
4959
} else {
5060
header := net.ProcessHeader(r.Header, link.Header)
5161
res, err := net.RequestHttp(r.Context(), r.Method, header, link.URL)

0 commit comments

Comments
 (0)
0