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.
28 lines
631 B
28 lines
631 B
package staticfiles
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"bitbucket.org/lightcodelabs/caddy2"
|
|
"bitbucket.org/lightcodelabs/caddy2/modules/caddyhttp"
|
|
)
|
|
|
|
func init() {
|
|
caddy2.RegisterModule(caddy2.Module{
|
|
Name: "http.responders.static_files",
|
|
New: func() (interface{}, error) { return new(StaticFiles), nil },
|
|
})
|
|
}
|
|
|
|
// StaticFiles implements a static file server responder for Caddy.
|
|
type StaticFiles struct {
|
|
Root string
|
|
}
|
|
|
|
func (sf StaticFiles) ServeHTTP(w http.ResponseWriter, r *http.Request) error {
|
|
http.FileServer(http.Dir(sf.Root)).ServeHTTP(w, r)
|
|
return nil
|
|
}
|
|
|
|
// Interface guard
|
|
var _ caddyhttp.Handler = (*StaticFiles)(nil)
|
|
|