]> Sergey Matveev's repositories - godlighty.git/blobdiff - handler.go
Yet another proper escaping
[godlighty.git] / handler.go
index 354b5053bebc8a7b2d0216ee8e2c7c49e2697ba1..4ac2b0480f9be5c2f7386332d923d1d5cbb289fe 100644 (file)
@@ -1,5 +1,5 @@
 // godlighty -- highly-customizable HTTP, HTTP/2, HTTPS server
-// Copyright (C) 2021-2024 Sergey Matveev <stargrave@stargrave.org>
+// Copyright (C) 2021-2025 Sergey Matveev <stargrave@stargrave.org>
 //
 // 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
@@ -22,6 +22,7 @@ import (
        "errors"
        "fmt"
        "io"
+       "io/fs"
        "log"
        "net"
        "net/http"
@@ -45,10 +46,10 @@ const (
 
 var (
        gzPool = sync.Pool{
-               New: func() interface{} { return gzip.NewWriter(io.Discard) },
+               New: func() any { return gzip.NewWriter(io.Discard) },
        }
        zstdPool = sync.Pool{
-               New: func() interface{} {
+               New: func() any {
                        w, err := zstd.NewWriter(
                                io.Discard,
                                zstd.WithEncoderLevel(zstd.SpeedDefault),
@@ -182,7 +183,8 @@ func (h Handler) Handle(
 IndexLookuped:
        if fi.IsDir() {
                if cfg.DirList {
-                       entries, err := os.ReadDir(pth)
+                       var entries []fs.DirEntry
+                       entries, err = os.ReadDir(pth)
                        if err != nil {
                                printErr(http.StatusInternalServerError, err)
                                http.Error(w, "internal error", http.StatusInternalServerError)
@@ -194,7 +196,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)
@@ -218,7 +220,7 @@ IndexLookuped:
                } else {
                        for _, index := range append(cfg.Indices, Index) {
                                p := path.Join(pth, index)
-                               if _, err := os.Stat(p); err == nil {
+                               if _, err = os.Stat(p); err == nil {
                                        pth = p
                                        fi, err = os.Stat(pth)
                                        if err != nil {
@@ -240,7 +242,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)