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/caddylog/log.go | |
| parent | 27ff6aeccb99995880a86ee482dd90c1e5c85d85 (diff) | |
Very basic middleware and route matching functionality
Diffstat (limited to 'modules/caddyhttp/caddylog/log.go')
| -rw-r--r-- | modules/caddyhttp/caddylog/log.go | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/modules/caddyhttp/caddylog/log.go b/modules/caddyhttp/caddylog/log.go new file mode 100644 index 0000000..5bbab2a --- /dev/null +++ b/modules/caddyhttp/caddylog/log.go @@ -0,0 +1,37 @@ +package caddylog + +import ( +	"log" +	"net/http" +	"time" + +	"bitbucket.org/lightcodelabs/caddy2" +	"bitbucket.org/lightcodelabs/caddy2/modules/caddyhttp" +) + +func init() { +	caddy2.RegisterModule(caddy2.Module{ +		Name: "http.middleware.log", +		New:  func() (interface{}, error) { return &Log{}, nil }, +	}) +} + +// Log implements a simple logging middleware. +type Log struct { +	Filename string +} + +func (l *Log) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error { +	start := time.Now() + +	if err := next.ServeHTTP(w, r); err != nil { +		return err +	} + +	log.Println("latency:", time.Now().Sub(start)) + +	return nil +} + +// Interface guard +var _ caddyhttp.MiddlewareHandler = &Log{} | 
