From aee21eb0bd4d983cc26959f10ab28d540f91f884 Mon Sep 17 00:00:00 2001 From: Carl Jackson Date: Sun, 12 Apr 2015 15:58:22 -0700 Subject: [PATCH] Remove web.HandlerFunc Since Goji accepts the underlying version of this type (i.e., the raw function), and since it doesn't use web.Handler in the same way as the net/http ecosystem uses http.Handler, there's really no reason to ever use web.HandlerFunc. This is a breaking change. Developers who previously used the web.HandlerFunc type are encouraged to inline it into their own projects. --- web/router_test.go | 8 ++------ web/web.go | 16 ---------------- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/web/router_test.go b/web/router_test.go index 1d2c27e..ed37c6a 100644 --- a/web/router_test.go +++ b/web/router_test.go @@ -88,8 +88,7 @@ var testHandlerTable = map[string]string{ "/a": "http fn", "/b": "http handler", "/c": "web fn", - "/d": "web handler", - "/e": "httpc", + "/d": "httpc", } func TestHandlerTypes(t *testing.T) { @@ -106,10 +105,7 @@ func TestHandlerTypes(t *testing.T) { m.Get("/c", func(c C, w http.ResponseWriter, r *http.Request) { ch <- "web fn" }) - m.Get("/d", HandlerFunc(func(c C, w http.ResponseWriter, r *http.Request) { - ch <- "web handler" - })) - m.Get("/e", testHandler(ch)) + m.Get("/d", testHandler(ch)) for route, response := range testHandlerTable { r, _ := http.NewRequest("GET", route, nil) diff --git a/web/web.go b/web/web.go index 0fd762c..4394c10 100644 --- a/web/web.go +++ b/web/web.go @@ -38,22 +38,6 @@ type Handler interface { ServeHTTPC(C, http.ResponseWriter, *http.Request) } -// HandlerFunc is similar to net/http's http.HandlerFunc, but supports a context -// object. Implements both http.Handler and Handler. -type HandlerFunc func(C, http.ResponseWriter, *http.Request) - -// ServeHTTP implements http.Handler, allowing HandlerFunc's to be used with -// net/http and other compliant routers. When used in this way, the underlying -// function will be passed an empty context. -func (h HandlerFunc) ServeHTTP(w http.ResponseWriter, r *http.Request) { - h(C{}, w, r) -} - -// ServeHTTPC implements Handler. -func (h HandlerFunc) ServeHTTPC(c C, w http.ResponseWriter, r *http.Request) { - h(c, w, r) -} - /* PatternType is the type denoting Patterns and types that Goji internally converts to Pattern (via the ParsePattern function). In order to provide an