Skip to content

Commit

Permalink
Fix raw content io
Browse files Browse the repository at this point in the history
  • Loading branch information
ije committed Jun 28, 2022
1 parent a9f13f1 commit 16c8d2a
Showing 1 changed file with 23 additions and 6 deletions.
29 changes: 23 additions & 6 deletions server/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -306,23 +306,40 @@ func query(devMode bool) rex.Handle {
return
}
defer resp.Body.Close()

if resp.StatusCode >= 500 {
w.WriteHeader(http.StatusBadGateway)
w.Write([]byte("Bad Gateway"))
return
}
for key, values := range resp.Header {
for _, value := range values {
ctx.AddHeader(key, value)
}
}

if resp.StatusCode >= 400 {
w.WriteHeader(http.StatusBadGateway)
io.Copy(w, resp.Body)
return
}

n, err := fs.WriteFile(savePath, resp.Body)
if err != nil {
w.WriteHeader(500)
w.Write([]byte(err.Error()))
return
}

f, err := fs.ReadFile(savePath, n)
if err != nil {
w.WriteHeader(500)
w.Write([]byte(err.Error()))
return
}

for key, values := range resp.Header {
for _, value := range values {
ctx.AddHeader(key, value)
}
}
ctx.SetHeader("Cache-Control", "public, max-age=31536000, immutable")
fs.WriteFile(savePath, io.TeeReader(resp.Body, w))
io.Copy(w, f)
})
}

Expand Down

0 comments on commit 16c8d2a

Please sign in to comment.