]> Cypherpunks repositories - gostls13.git/commitdiff
net/http: document io.Seeker requirement for fs.FS arguments
authorSean Liao <sean@liao.dev>
Fri, 12 Jul 2024 19:42:50 +0000 (20:42 +0100)
committerGopher Robot <gobot@golang.org>
Mon, 15 Jul 2024 16:32:33 +0000 (16:32 +0000)
Using the same wording as http.FS, even though it's not strictly
required if a content type can be determined by file extension.

Fixes #66877
Updates #44553

Change-Id: I7b70c10909bdd289a57d1998a565262b8aaf2dd2
Reviewed-on: https://go-review.googlesource.com/c/go/+/597977
Reviewed-by: Damien Neil <dneil@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Commit-Queue: Ian Lance Taylor <iant@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>

src/net/http/filetransport.go
src/net/http/fs.go

index 7384b22fbe927c4781b6d1161a6d56673e8fe0fd..b08bae63487dab5506b6c52d4198ba77ad4bfdac 100644 (file)
@@ -35,7 +35,7 @@ func NewFileTransport(fs FileSystem) RoundTripper {
 // NewFileTransportFS returns a new [RoundTripper], serving the provided
 // file system fsys. The returned RoundTripper ignores the URL host in its
 // incoming requests, as well as most other properties of the
-// request.
+// request. The files provided by fsys must implement [io.Seeker].
 //
 // The typical use case for NewFileTransportFS is to register the "file"
 // protocol with a [Transport], as in:
index 70653550f027f61bcbdfe9738b05dcc80ea0b485..3a716fbd2cc7f8d480c831e330ed4f6318d2d33f 100644 (file)
@@ -819,6 +819,7 @@ func ServeFile(w ResponseWriter, r *Request, name string) {
 
 // ServeFileFS replies to the request with the contents
 // of the named file or directory from the file system fsys.
+// The files provided by fsys must implement [io.Seeker].
 //
 // If the provided name is constructed from user input, it should be
 // sanitized before calling [ServeFileFS].
@@ -965,6 +966,7 @@ func FileServer(root FileSystem) Handler {
 
 // FileServerFS returns a handler that serves HTTP requests
 // with the contents of the file system fsys.
+// The files provided by fsys must implement [io.Seeker].
 //
 // As a special case, the returned file server redirects any request
 // ending in "/index.html" to the same path, without the final