antonvolkoff / cake

Generalized middleware for Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Generalized middleware for Go

Installation

go get -u github.com/choix/cake

Usage

package main

import (
	"fmt"

	"github.com/choix/cake"
)

func layerA(next cake.HandlerFunc) cake.HandlerFunc {
	return func(env interface{}) {
		fmt.Println("+ A")
		next(env)
		fmt.Println("- A")
	}
}

func layerB(next cake.HandlerFunc) cake.HandlerFunc {
	return func(env interface{}) {
		fmt.Println("+ B")
		next(env)
		fmt.Println("- B")
	}
}

func main() {
	m := cake.New()
	m.Use(layerA)
	m.Use(layerB)
	m.Call(nil)
}

Output:

+ A
+ B
- B
- A

About

Generalized middleware for Go


Languages

Language:Go 100.0%