From 9a8e832951bb06c5b52393c237be7680d8ed7f44 Mon Sep 17 00:00:00 2001 From: SatoShun Date: Fri, 7 Nov 2014 13:03:36 +0000 Subject: [PATCH] use direct result of switch type assertion --- web/middleware.go | 7 +++---- web/pattern.go | 8 ++++---- web/router.go | 8 +++----- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/web/middleware.go b/web/middleware.go index db766ad..21e000b 100644 --- a/web/middleware.go +++ b/web/middleware.go @@ -52,14 +52,13 @@ func (s *cStack) ServeHTTPC(c C, w http.ResponseWriter, r *http.Request) { func (m *mStack) appendLayer(fn interface{}) { ml := mLayer{orig: fn} - switch fn.(type) { + switch f := fn.(type) { case func(http.Handler) http.Handler: - unwrapped := fn.(func(http.Handler) http.Handler) ml.fn = func(c *C, h http.Handler) http.Handler { - return unwrapped(h) + return f(h) } case func(*C, http.Handler) http.Handler: - ml.fn = fn.(func(*C, http.Handler) http.Handler) + ml.fn = f default: log.Fatalf(`Unknown middleware type %v. Expected a function `+ `with signature "func(http.Handler) http.Handler" or `+ diff --git a/web/pattern.go b/web/pattern.go index e970788..0d27c51 100644 --- a/web/pattern.go +++ b/web/pattern.go @@ -32,13 +32,13 @@ type Pattern interface { } func parsePattern(p interface{}) Pattern { - switch p.(type) { + switch v := p.(type) { case Pattern: - return p.(Pattern) + return v case *regexp.Regexp: - return parseRegexpPattern(p.(*regexp.Regexp)) + return parseRegexpPattern(v) case string: - return parseStringPattern(p.(string)) + return parseStringPattern(v) default: log.Fatalf("Unknown pattern type %v. Expected a web.Pattern, "+ "regexp.Regexp, or a string.", p) diff --git a/web/router.go b/web/router.go index 632d24e..d4b88d5 100644 --- a/web/router.go +++ b/web/router.go @@ -69,16 +69,14 @@ func (h netHTTPWrap) ServeHTTPC(c C, w http.ResponseWriter, r *http.Request) { } func parseHandler(h interface{}) Handler { - switch h.(type) { + switch f := h.(type) { case Handler: - return h.(Handler) + return f case http.Handler: - return netHTTPWrap{h.(http.Handler)} + return netHTTPWrap{f} case func(c C, w http.ResponseWriter, r *http.Request): - f := h.(func(c C, w http.ResponseWriter, r *http.Request)) return HandlerFunc(f) case func(w http.ResponseWriter, r *http.Request): - f := h.(func(w http.ResponseWriter, r *http.Request)) return netHTTPWrap{http.HandlerFunc(f)} default: log.Fatalf("Unknown handler type %v. Expected a web.Handler, "+