github.com/s7techlab/cckit@v0.10.5/state/mapping/middleware.go (about)

     1  package mapping
     2  
     3  import (
     4  	"github.com/s7techlab/cckit/router"
     5  )
     6  
     7  func MapStates(stateMappings StateMappings) router.MiddlewareFunc {
     8  	return func(next router.HandlerFunc, pos ...int) router.HandlerFunc {
     9  		return func(c router.Context) (interface{}, error) {
    10  			c.UseState(WrapState(c.State(), stateMappings))
    11  			return next(c)
    12  		}
    13  	}
    14  }
    15  
    16  func MapEvents(eventMappings EventMappings) router.MiddlewareFunc {
    17  	return func(next router.HandlerFunc, pos ...int) router.HandlerFunc {
    18  		return func(c router.Context) (interface{}, error) {
    19  			c.UseEvent(WrapEvent(c.Event(), eventMappings))
    20  			return next(c)
    21  		}
    22  	}
    23  }