Added HEAD to RouterGroup.Static

This commit is contained in:
Fareed Dudhia 2014-07-16 19:16:15 +01:00
parent 3cf2d1338f
commit 6e2957df82

16
gin.go
View File

@ -11,8 +11,11 @@ import (
"html/template"
"log"
"math"
"mime"
"net/http"
"os"
"path"
"path/filepath"
"sync"
)
@ -309,6 +312,19 @@ func (group *RouterGroup) Static(p, root string) {
fileServer.ServeHTTP(c.Writer, c.Request)
c.Request.URL.Path = original
})
group.HEAD(p, func(c *Context) {
fp := path.Join(root, c.Params.ByName("filepath"))
info, err := os.Stat(fp)
if err != nil || info == nil {
c.Abort(404)
} else {
c.Writer.Header().Set("Content-Type", mime.TypeByExtension(filepath.Ext(fp)))
c.Writer.Header().Set("Last-Modified", info.ModTime().Format(http.TimeFormat))
c.Abort(200)
}
})
}
func (group *RouterGroup) combineHandlers(handlers []HandlerFunc) []HandlerFunc {