MCPcopy Create free account
hub / github.com/kataras/iris / AddRoute

Method AddRoute

core/router/handler.go:229–254  ·  view source on GitHub ↗

AddRoute registers a route. See `Router.AddRouteUnsafe`.

(r *Route)

Source from the content-addressed store, hash-verified

227
228// AddRoute registers a route. See `Router.AddRouteUnsafe`.
229func (h *routerHandler) AddRoute(r *Route) error {
230 var (
231 method = r.Method
232 statusCode = r.StatusCode
233 subdomain = r.Subdomain
234 path = r.Path
235 handlers = r.Handlers
236 )
237
238 t := h.getTree(statusCode, method, subdomain)
239
240 if t == nil {
241 n := newTrieNode()
242 // first time we register a route to this method with this subdomain
243 t = &trie{statusCode: statusCode, method: method, subdomain: subdomain, root: n}
244 if statusCode > 0 {
245 h.errorTrees = append(h.errorTrees, t)
246 } else {
247 h.trees = append(h.trees, t)
248 }
249 }
250
251 t.insert(path, r.ReadOnly, handlers)
252
253 return nil
254}
255
256// RoutesProvider should be implemented by
257// iteral which contains the registered routes.

Callers 1

BuildMethod · 0.95

Calls 3

getTreeMethod · 0.95
newTrieNodeFunction · 0.85
insertMethod · 0.80

Tested by

no test coverage detected