Micro & pluggable web framework for Go
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
825 B

// 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))
}
}