tango/file.go
Lunny Xiao 60686424bb
All checks were successful
continuous-integration/drone/push Build is passing
Add Content to serve a file from http.FileSystem (#62)
2019-09-08 13:30:17 +00:00

38 lines
825 B
Go

// Copyright 2015 The Tango Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package tango
import (
"net/http"
"path/filepath"
)
// Content returns a handle to serve a file
func Content(path string, fs http.FileSystem) func(ctx *Context) {
return func(ctx *Context) {
ctx.ServeContent(path, fs)
}
}
// File returns a handle to serve a file
func File(path string) func(ctx *Context) {
return func(ctx *Context) {
ctx.ServeFile(path)
}
}
// Dir returns a handle to serve a directory
func Dir(dir string) func(ctx *Context) {
return func(ctx *Context) {
params := ctx.Params()
if len(*params) <= 0 {
ctx.Result = NotFound()
ctx.HandleError()
return
}
ctx.ServeFile(filepath.Join(dir, (*params)[0].Value))
}
}