NewRule(router adapter.Router, logger log.ContextLogger, options option.Rule)
: (adapter.Rule, error)
NewDefaultRule(router adapter.Router, logger log.ContextLogger, options option.DefaultRule)
: (*DefaultRule, error)
NewLogicalRule(router adapter.Router, logger log.ContextLogger, options option.LogicalRule)
: (*LogicalRule, error)