Skip to content

Commit

Permalink
net/http: document io.Seeker requirement for fs.FS arguments
Browse files Browse the repository at this point in the history
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 <[email protected]>
Auto-Submit: Ian Lance Taylor <[email protected]>
Commit-Queue: Ian Lance Taylor <[email protected]>
Reviewed-by: Ian Lance Taylor <[email protected]>
LUCI-TryBot-Result: Go LUCI <[email protected]>
  • Loading branch information
seankhliao authored and gopherbot committed Jul 15, 2024
1 parent 071b8d5 commit 5d36bc1
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/net/http/filetransport.go
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
2 changes: 2 additions & 0 deletions src/net/http/fs.go
Original file line number Diff line number Diff line change
Expand Up @@ -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].
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 5d36bc1

Please sign in to comment.