Browse Source

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.
master
Drew DeVault 3 years ago
parent
commit
fa102822bb
1 changed files with 5 additions and 3 deletions
  1. +5
    -3
      plugins/viewhtml/plugin.go

+ 5
- 3
plugins/viewhtml/plugin.go View File

@@ -58,11 +58,13 @@ func init() {
} }


size, err := strconv.Atoi(resp.Header.Get("Content-Length")) 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)} lr := io.LimitedReader{resp.Body, int64(proxyMaxSize)}
return ctx.Stream(http.StatusOK, mediaType, &lr) return ctx.Stream(http.StatusOK, mediaType, &lr)
}) })


Loading…
Cancel
Save