diff --git a/internal/handler/autoindex.go b/internal/handler/autoindex.go index da2e68a..7c88a3b 100644 --- a/internal/handler/autoindex.go +++ b/internal/handler/autoindex.go @@ -80,7 +80,7 @@ func readDirectory(dirPath string) ([]dirEntry, error) { if err != nil { return nil, err } - defer dir.Close() + defer func() { _ = dir.Close() }() infos, err := dir.Readdir(-1) if err != nil { @@ -117,7 +117,7 @@ func generateHTMLIndex(ctx *fasthttp.RequestCtx, reqPath string, entries []dirEn // HTML 头部 buf.WriteString("\n") buf.WriteString("\n\n") - buf.WriteString(fmt.Sprintf("Index of %s\n", html.EscapeString(reqPath))) + fmt.Fprintf(&buf, "Index of %s\n", html.EscapeString(reqPath)) buf.WriteString("\n") buf.WriteString("\n\n") - buf.WriteString(fmt.Sprintf("

Index of %s

\n", html.EscapeString(reqPath))) + fmt.Fprintf(&buf, "

Index of %s

\n", html.EscapeString(reqPath)) buf.WriteString("
\n\n") buf.WriteString("\n") buf.WriteString("\n") @@ -167,8 +167,8 @@ func generateHTMLIndex(ctx *fasthttp.RequestCtx, reqPath string, entries []dirEn sizeStr = formatSize(entry.Size) } - buf.WriteString(fmt.Sprintf("\n", - href, html.EscapeString(displayName), timeStr, sizeStr)) + fmt.Fprintf(&buf, "\n", + href, html.EscapeString(displayName), timeStr, sizeStr) } buf.WriteString("\n
NameModifiedSize
%s%s%s
%s%s%s
\n
\n\n\n") @@ -179,7 +179,7 @@ func generateHTMLIndex(ctx *fasthttp.RequestCtx, reqPath string, entries []dirEn } // generateJSONIndex 生成 JSON 格式的目录列表。 -func generateJSONIndex(ctx *fasthttp.RequestCtx, reqPath string, entries []dirEntry) { +func generateJSONIndex(ctx *fasthttp.RequestCtx, _ string, entries []dirEntry) { type jsonEntry struct { Name string `json:"name"` Type string `json:"type"` @@ -277,4 +277,3 @@ func formatSize(size int64) string { return fmt.Sprintf("%d", size) } } - diff --git a/internal/handler/autoindex_test.go b/internal/handler/autoindex_test.go index 4104065..37cff34 100644 --- a/internal/handler/autoindex_test.go +++ b/internal/handler/autoindex_test.go @@ -404,7 +404,7 @@ func BenchmarkGenerateAutoIndex_HTML(b *testing.B) { defer os.RemoveAll(tmpDir) // 创建 100 个文件 - for i := 0; i < 100; i++ { + for i := range 100 { if err := os.WriteFile(filepath.Join(tmpDir, fmt.Sprintf("file%d.txt", i)), []byte("content"), 0o644); err != nil { b.Fatal(err) }