HTML image proxy: handle missing Content-Length

This is less than ideal, but we still won't end up over-reading because
we're using a LimitedReader here.
This commit is contained in:
Drew DeVault 2020-11-13 12:45:31 -05:00
parent 2611bee170
commit fa102822bb
1 changed files with 5 additions and 3 deletions

View File

@ -58,11 +58,13 @@ func init() {
}
size, err := strconv.Atoi(resp.Header.Get("Content-Length"))
if err != nil || size > proxyMaxSize {
return echo.NewHTTPError(http.StatusBadRequest, "invalid resource length")
if err == nil {
if size > proxyMaxSize {
return echo.NewHTTPError(http.StatusBadRequest, "invalid resource length")
}
ctx.Response().Header().Set("Content-Length", strconv.Itoa(size))
}
ctx.Response().Header().Set("Content-Length", strconv.Itoa(size))
lr := io.LimitedReader{resp.Body, int64(proxyMaxSize)}
return ctx.Stream(http.StatusOK, mediaType, &lr)
})