MCPcopy
hub / github.com/ory/keto / ReadRouter

Method ReadRouter

internal/driver/daemon.go:377–410  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

375var httpMetrics = prometheusx.NewHTTPMetrics("keto", prometheusx.HTTPPrefix, config.Version, config.Commit, config.Date)
376
377func (r *RegistryDefault) ReadRouter(ctx context.Context) http.Handler {
378 n := negroni.New()
379 for _, f := range r.defaultHttpMiddlewares {
380 n.UseFunc(f)
381 }
382 n.UseFunc(semconv.Middleware)
383 n.Use(reqlog.NewMiddlewareFromLogger(r.l, "read#Ory Keto").ExcludePaths(healthx.AliveCheckPath, healthx.ReadyCheckPath))
384
385 br := httprouterx.NewRouterPublic(httpMetrics)
386 prometheusx.SetMuxRoutes(br)
387
388 r.HealthHandler().SetHealthRoutes(br, false)
389 r.HealthHandler().SetVersionRoutes(br)
390
391 for _, h := range r.allHandlers() {
392 if h, ok := h.(ReadHandler); ok {
393 h.RegisterReadRoutes(br)
394 }
395 }
396
397 n.UseHandler(br)
398
399 if r.sqaService != nil {
400 n.Use(r.sqaService)
401 }
402
403 var handler http.Handler = n
404 options, enabled := r.Config(ctx).CORS("read")
405 if enabled {
406 handler = cors.New(options).Handler(handler)
407 }
408
409 return handler
410}
411
412func (r *RegistryDefault) WriteRouter(ctx context.Context) http.Handler {
413 n := negroni.New()

Callers 1

serveReadMethod · 0.95

Calls 9

HealthHandlerMethod · 0.95
allHandlersMethod · 0.95
ConfigMethod · 0.95
ExcludePathsMethod · 0.80
SetHealthRoutesMethod · 0.80
SetVersionRoutesMethod · 0.80
RegisterReadRoutesMethod · 0.65
HandlerMethod · 0.65
CORSMethod · 0.45

Tested by

no test coverage detected