MCPcopy
hub / github.com/pocketbase/pocketbase / NewRouter

Function NewRouter

apis/base.go:19–57  ·  view source on GitHub ↗

NewRouter returns a new router instance loaded with the default app middlewares and routes.

(app core.App)

Source from the content-addressed store, hash-verified

17
18// NewRouter returns a new router instance loaded with the default app middlewares and routes.
19func NewRouter(app core.App) (*router.Router[*core.RequestEvent], error) {
20 pbRouter := router.NewRouter(func(w http.ResponseWriter, r *http.Request) (*core.RequestEvent, router.EventCleanupFunc) {
21 event := new(core.RequestEvent)
22 event.Response = w
23 event.Request = r
24 event.App = app
25
26 return event, nil
27 })
28
29 // register default middlewares
30 pbRouter.Bind(activityLogger())
31 pbRouter.Bind(panicRecover())
32 pbRouter.Bind(rateLimit())
33 pbRouter.Bind(loadAuthToken())
34 pbRouter.Bind(superuserIPsWhitelist())
35 pbRouter.Bind(securityHeaders())
36 pbRouter.Bind(BodyLimit(DefaultMaxBodySize))
37
38 // API routes
39 apiGroup := pbRouter.Group("/api")
40 bindSettingsApi(app, apiGroup)
41 bindCollectionApi(app, apiGroup)
42 bindRecordCrudApi(app, apiGroup)
43 bindRecordAuthApi(app, apiGroup)
44 bindLogsApi(app, apiGroup)
45 bindBackupApi(app, apiGroup)
46 bindCronApi(app, apiGroup)
47 bindFileApi(app, apiGroup)
48 bindBatchApi(app, apiGroup)
49 bindRealtimeApi(app, apiGroup)
50 bindHealthApi(app, apiGroup)
51 bindSQLApi(app, apiGroup)
52
53 // UI routes
54 bindUIExtensions(app)
55
56 return pbRouter, nil
57}
58
59// WrapStdHandler wraps Go [http.Handler] into a PocketBase handler func.
60func WrapStdHandler(h http.Handler) func(*core.RequestEvent) error {

Calls 15

NewRouterFunction · 0.92
activityLoggerFunction · 0.85
panicRecoverFunction · 0.85
rateLimitFunction · 0.85
loadAuthTokenFunction · 0.85
superuserIPsWhitelistFunction · 0.85
securityHeadersFunction · 0.85
BodyLimitFunction · 0.85
bindSettingsApiFunction · 0.85
bindCollectionApiFunction · 0.85
bindRecordCrudApiFunction · 0.85
bindRecordAuthApiFunction · 0.85

Used in the wild real call sites across dependent graphs

searching dependent graphs…