X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=rounds%2FtranscodeWebP.go;h=9915d85e703377e90b7fde67aae0a01fee8a3458;hb=aebff9ec61ff98c73f83f73f081401038699d37f;hp=82d3661b85970b9504be2115ba6af2dfbae8c060;hpb=6eee3c6c83cc535855e254426a90f7a2abba04ce;p=tofuproxy.git diff --git a/rounds/transcodeWebP.go b/rounds/transcodeWebP.go index 82d3661..9915d85 100644 --- a/rounds/transcodeWebP.go +++ b/rounds/transcodeWebP.go @@ -1,52 +1,44 @@ -/* -tofuproxy -- flexible HTTP proxy, TLS terminator, X.509 certificates - manager, WARC/Gemini browser -Copyright (C) 2021 Sergey Matveev - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, version 3 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ +// tofuproxy -- flexible HTTP/HTTPS proxy, TLS terminator, X.509 TOFU +// manager, WARC/geminispace browser +// Copyright (C) 2021-2024 Sergey Matveev +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 3 of the License. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . package rounds import ( "fmt" "io" - "io/ioutil" "log" "net/http" "os" "os/exec" - "strings" "go.stargrave.org/tofuproxy/fifos" ) const CmdDWebP = "dwebp" -func isXombrero(req *http.Request) bool { - return strings.Contains(req.Header.Get("User-Agent"), "AppleWebKit/538.15") -} - func RoundTranscodeWebP( host string, resp *http.Response, w http.ResponseWriter, req *http.Request, ) (bool, error) { - if resp.Header.Get("Content-Type") != "image/webp" || isXombrero(req) { + if resp.Header.Get("Content-Type") != "image/webp" { return true, nil } - tmpFd, err := ioutil.TempFile("", "tofuproxy.*.webp") + tmpFd, err := os.CreateTemp("", "tofuproxy.*.webp") if err != nil { log.Fatalln(err) } @@ -66,6 +58,8 @@ func RoundTranscodeWebP( w.Header().Add("Content-Type", "image/png") w.WriteHeader(http.StatusOK) w.Write(data) - fifos.LogVarious <- fmt.Sprintf("%s %s\tWebP transcoded to PNG", req.Method, req.URL) + fifos.LogVarious <- fmt.Sprintf( + "%s %s\tWebP transcoded to PNG", req.Method, req.URL, + ) return false, nil }