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