diff --git a/config.go b/config.go index 5e24058..dcf5ca0 100644 --- a/config.go +++ b/config.go @@ -22,7 +22,7 @@ var ( prefetch, proxyMode bool remoteRaw = "remote-raw" config Config - version = "0.4.1" + version = "0.4.2" releaseUrl = "https://github.com/webp-sh/webp_server_go/releases/latest/download/" ) diff --git a/router.go b/router.go index 0b1bb8c..5e09b4d 100644 --- a/router.go +++ b/router.go @@ -29,6 +29,14 @@ func convert(c *fiber.Ctx) error { var imgFilename = path.Base(reqURI) // pure filename, 123.jpg log.Debugf("Incoming connection from %s %s", c.IP(), imgFilename) + if !checkAllowedType(imgFilename) { + msg := "File extension not allowed! " + imgFilename + log.Warn(msg) + c.Status(http.StatusBadRequest) + _ = c.Send([]byte(msg)) + return nil + } + goodFormat := guessSupportedFormat(&c.Request().Header) // old browser only, send the original image or fetch from remote and send. @@ -43,19 +51,6 @@ func convert(c *fiber.Ctx) error { } } - if !checkAllowedType(imgFilename) { - msg := "File extension not allowed! " + imgFilename - log.Warn(msg) - if imageExists(rawImageAbs) { - c.Set("ETag", genEtag(rawImageAbs)) - return c.SendFile(rawImageAbs) - } else { - c.Status(http.StatusBadRequest) - _ = c.Send([]byte(msg)) - return nil - } - } - if proxyMode { return proxyHandler(c, reqURI) }