コード例 #1
0
ファイル: interpose.go プロジェクト: pilwon/gogo
func Middleware(h func(http.Handler) http.Handler) middleware.Handler {
	return middleware.HandlerFunc(func(c context.Context, w http.ResponseWriter, r *http.Request) context.Context {
		h(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
			gogo.Next(c, w, r)
		})).ServeHTTP(w, r)
		return nil
	})
}
コード例 #2
0
ファイル: sessions.go プロジェクト: pilwon/gogo
// New returns session middleware
func New(name string, store gorillaSessions.Store) middleware.Handler {
	return middleware.HandlerFunc(func(c context.Context, w http.ResponseWriter, r *http.Request) context.Context {
		session, _ := store.Get(r, sessionName)
		c = context.WithValue(c, storeKey, store)
		// gogo.Session(c).Values["foo"]
		return c
	})
}
コード例 #3
0
ファイル: server.go プロジェクト: pilwon/gogo
func voidMiddlewareNode() middlewareNode {
	return middlewareNode{
		handler: middleware.HandlerFunc(func(c context.Context, w http.ResponseWriter, r *http.Request) context.Context {
			return nil
		}),
		next: nil,
	}
}
コード例 #4
0
ファイル: router.go プロジェクト: pilwon/gogo
func MiddlewareFromRouterHandler(h Handler) middleware.Handler {
	return middleware.HandlerFunc(func(c context.Context, w http.ResponseWriter, r *http.Request) context.Context {
		h.ServeHTTP(c, w, r)
		return nil
	})
}
コード例 #5
0
ファイル: server.go プロジェクト: pilwon/gogo
func (s *Server) UseFunc(h middleware.HandlerFunc) {
	s.Use(middleware.HandlerFunc(h))
}