mirror of
https://github.com/gin-gonic/gin.git
synced 2025-10-22 17:42:14 +08:00
Also handle 403 Forbidden
This commit is contained in:
parent
0c180673d6
commit
0fbf6d2438
@ -185,12 +185,15 @@ func (group *RouterGroup) StaticFS(relativePath string, fs http.FileSystem) IRou
|
|||||||
func (group *RouterGroup) createStaticHandler(relativePath string, fs http.FileSystem) HandlerFunc {
|
func (group *RouterGroup) createStaticHandler(relativePath string, fs http.FileSystem) HandlerFunc {
|
||||||
absolutePath := group.calculateAbsolutePath(relativePath)
|
absolutePath := group.calculateAbsolutePath(relativePath)
|
||||||
fileServer := http.StripPrefix(absolutePath, http.FileServer(fs))
|
fileServer := http.StripPrefix(absolutePath, http.FileServer(fs))
|
||||||
_, nolisting := fs.(*onlyfilesFS)
|
|
||||||
return func(c *Context) {
|
|
||||||
if nolisting {
|
|
||||||
c.Writer.WriteHeader(http.StatusNotFound)
|
|
||||||
|
|
||||||
|
return func(c *Context) {
|
||||||
|
file := c.Param("filepath")
|
||||||
|
|
||||||
|
// Check if file exists or if we have permission to access it
|
||||||
|
if _, err := fs.Open(file); err != nil {
|
||||||
|
c.Writer.WriteHeader(http.StatusNotFound)
|
||||||
c.handlers = group.engine.allNoRoute
|
c.handlers = group.engine.allNoRoute
|
||||||
|
// Reset index
|
||||||
c.index = -1
|
c.index = -1
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user