NewRouter creates a new Router instance
( config *Config, monitoring *monitoring.Monitoring, errReporter *errorreport.Reporter, )
| 63 | |
| 64 | // NewRouter creates a new Router instance |
| 65 | func NewRouter( |
| 66 | config *Config, |
| 67 | monitoring *monitoring.Monitoring, |
| 68 | errReporter *errorreport.Reporter, |
| 69 | ) (*Router, error) { |
| 70 | if err := config.Validate(); err != nil { |
| 71 | return nil, err |
| 72 | } |
| 73 | |
| 74 | rwf, err := responsewriter.NewFactory(&config.ResponseWriter) |
| 75 | if err != nil { |
| 76 | return nil, err |
| 77 | } |
| 78 | |
| 79 | return &Router{ |
| 80 | rwFactory: rwf, |
| 81 | config: config, |
| 82 | monitoring: monitoring, |
| 83 | errorReporter: errReporter, |
| 84 | }, nil |
| 85 | } |
| 86 | |
| 87 | // GET adds GET route |
| 88 | func (r *Router) GET(path string, handler RouteHandler, middlewares ...Middleware) *route { |