Use WebP if the browser supports it (#32)
This commit is contained in:
parent
f3ac0369b1
commit
b323b26b57
|
@ -138,6 +138,7 @@ rimgo can be configured using environment variables.
|
|||
| PORT | 3000 |
|
||||
| ADDRESS | 0.0.0.0 |
|
||||
| IMGUR_CLIENT_ID | 546c25a59c58ad7 |
|
||||
| FORCE_WEBP | 0 |
|
||||
|
||||
## Contributing
|
||||
|
||||
|
|
|
@ -2,7 +2,9 @@ package pages
|
|||
|
||||
import (
|
||||
"net/http"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"codeberg.org/video-prize-ranch/rimgo/utils"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
|
@ -27,6 +29,12 @@ func handleMedia(c *fiber.Ctx, url string) error {
|
|||
utils.SetHeaders(c)
|
||||
c.Set("Content-Security-Policy", "default-src 'none'; media-src 'self'; style-src 'self'; img-src 'self'; font-src 'self'; manifest-src 'self'; block-all-mixed-content")
|
||||
|
||||
if os.Getenv("FORCE_WEBP") == "1" && c.Query("no_webp") != "" && c.Accepts("image/webp") == "image/webp" {
|
||||
url = strings.ReplaceAll(url, ".png", ".webp")
|
||||
url = strings.ReplaceAll(url, ".jpg", ".webp")
|
||||
url = strings.ReplaceAll(url, ".jpeg", ".webp")
|
||||
}
|
||||
|
||||
res, err := http.Get(url)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
Loading…
Reference in New Issue