mirror of
https://github.com/golang/go
synced 2024-11-26 16:16:57 -07:00
net/http: mention io.Seeker requirement in FS documentation
Both FileServer and NewFileTransport can try to seek a file, specifically
when MIME type sniffing is performed. This can be somewhat surprising to an
implementer of an fs.FS, as their filesystem will appear to work until a
user tries to access a file with an unrecognized extension (which requires
type sniffing and therefore seeking). With FileServer, this results in a
"seeker can't seek" message, which is not very clear for the developer.
The issue arises because fs.FS does not require Seek, while http.FileSystem
does. Therefore, this change adds a line to the documentation of net/http's
adapter function mentioning the requirement.
Change-Id: Ieb955b7a7f34e2be39dd696cb712513c70100b3a
GitHub-Last-Rev: fddccdae36
GitHub-Pull-Request: golang/go#48781
Reviewed-on: https://go-review.googlesource.com/c/go/+/353874
Reviewed-by: Damien Neil <dneil@google.com>
Auto-Submit: Damien Neil <dneil@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
This commit is contained in:
parent
4d13aabdf6
commit
afd792feb5
@ -818,6 +818,7 @@ func (f ioFile) Readdir(count int) ([]fs.FileInfo, error) {
|
|||||||
|
|
||||||
// FS converts fsys to a FileSystem implementation,
|
// FS converts fsys to a FileSystem implementation,
|
||||||
// for use with FileServer and NewFileTransport.
|
// for use with FileServer and NewFileTransport.
|
||||||
|
// The files provided by fsys must implement io.Seeker.
|
||||||
func FS(fsys fs.FS) FileSystem {
|
func FS(fsys fs.FS) FileSystem {
|
||||||
return ioFS{fsys}
|
return ioFS{fsys}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user