diff options
Diffstat (limited to 'modules/caddyhttp/table.go')
-rw-r--r-- | modules/caddyhttp/table.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/caddyhttp/table.go b/modules/caddyhttp/table.go new file mode 100644 index 0000000..8c3ebe0 --- /dev/null +++ b/modules/caddyhttp/table.go @@ -0,0 +1,41 @@ +package caddyhttp + +import ( + "net/http" + + "bitbucket.org/lightcodelabs/caddy2" +) + +func init() { + caddy2.RegisterModule(caddy2.Module{ + Name: "http.middleware.table", + New: func() (interface{}, error) { return new(tableMiddleware), nil }, + }) + + caddy2.RegisterModule(caddy2.Module{ + Name: "http.matchers.table", + New: func() (interface{}, error) { return new(tableMatcher), nil }, + }) +} + +type tableMiddleware struct { +} + +func (t tableMiddleware) ServeHTTP(w http.ResponseWriter, r *http.Request, next Handler) error { + // tbl := r.Context().Value(TableCtxKey).(map[string]interface{}) + + // TODO: implement this... + + return nil +} + +type tableMatcher struct { +} + +func (m tableMatcher) Match(r *http.Request) bool { + return false // TODO: implement +} + +// Interface guards +var _ MiddlewareHandler = (*tableMiddleware)(nil) +var _ RequestMatcher = (*tableMatcher)(nil) |