X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=handler.go;h=10b0d2ff83f0b7b557be80494eea1389e8d0e31b;hb=HEAD;hp=75c98d515fa0f73e99951d301fa837128f608620;hpb=a15228c24afba1410f2be30737b3c4922dbd2236;p=godlighty.git diff --git a/handler.go b/handler.go index 75c98d5..10b0d2f 100644 --- a/handler.go +++ b/handler.go @@ -1,19 +1,17 @@ -/* -godlighty -- highly-customizable HTTP, HTTP/2, HTTPS server -Copyright (C) 2021-2023 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 . -*/ +// godlighty -- highly-customizable HTTP, HTTP/2, HTTPS server +// 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 godlighty @@ -196,7 +194,7 @@ IndexLookuped: http.Error(w, "internal error", http.StatusInternalServerError) return } - etag, err = ctimeETag(fd) + etag, err = mtimeETag(fd) fd.Close() if err != nil { printErr(http.StatusInternalServerError, err) @@ -242,7 +240,7 @@ IndexLookuped: http.Error(w, "internal error", http.StatusInternalServerError) return } - etag, err = ctimeETag(fd) + etag, err = mtimeETag(fd) if err != nil { printErr(http.StatusInternalServerError, err) http.Error(w, "internal error", http.StatusInternalServerError) @@ -270,13 +268,11 @@ IndexLookuped: for _, u := range forHTTP.URLs { w.Header().Add("Link", "<"+u+">; rel=duplicate") } - if forHTTP.SHA256 != nil { - w.Header().Add("Digest", "SHA-256="+ - base64.StdEncoding.EncodeToString(forHTTP.SHA256)) + for name, digest := range forHTTP.Hashes { + w.Header().Add("Digest", name+"="+base64.StdEncoding.EncodeToString(digest)) } - if forHTTP.SHA512 != nil { - w.Header().Add("Digest", "SHA-512="+ - base64.StdEncoding.EncodeToString(forHTTP.SHA512)) + for _, u := range forHTTP.Torrents { + w.Header().Add("Link", "<"+u+`>; rel=describedby; type="application/x-bittorrent"`) } } SkipMeta4: