diff options
author | Matthew Holt <mholt@users.noreply.github.com> | 2019-03-31 20:41:29 -0600 |
---|---|---|
committer | Matthew Holt <mholt@users.noreply.github.com> | 2019-03-31 20:41:29 -0600 |
commit | 6621406fa8b44826477ba7cbe2ff6c5462048f8e (patch) | |
tree | e06d9dcf413839ea4a3bbd78a783b56b3ba577f6 /modules/caddyhttp/staticfiles | |
parent | 27ff6aeccb99995880a86ee482dd90c1e5c85d85 (diff) |
Very basic middleware and route matching functionality
Diffstat (limited to 'modules/caddyhttp/staticfiles')
-rw-r--r-- | modules/caddyhttp/staticfiles/staticfiles.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/modules/caddyhttp/staticfiles/staticfiles.go b/modules/caddyhttp/staticfiles/staticfiles.go new file mode 100644 index 0000000..d1a7a7e --- /dev/null +++ b/modules/caddyhttp/staticfiles/staticfiles.go @@ -0,0 +1,28 @@ +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 &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{} |