mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-19 00:36:38 +00:00
Compare commits
1 Commits
fix/androi
...
feature/ch
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
90c45a6e24 |
@@ -11,6 +11,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
|
"github.com/gorilla/mux"
|
||||||
grpcMiddleware "github.com/grpc-ecosystem/go-grpc-middleware/v2"
|
grpcMiddleware "github.com/grpc-ecosystem/go-grpc-middleware/v2"
|
||||||
"github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/realip"
|
"github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/realip"
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
@@ -91,9 +92,15 @@ func (s *BaseServer) EventStore() activity.Store {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *BaseServer) Router() *mux.Router {
|
||||||
|
return Create(s, func() *mux.Router {
|
||||||
|
return nbhttp.NewRouter(s.AuthManager(), s.Metrics(), s.AccountManager())
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func (s *BaseServer) APIHandler() http.Handler {
|
func (s *BaseServer) APIHandler() http.Handler {
|
||||||
return Create(s, func() http.Handler {
|
return Create(s, func() http.Handler {
|
||||||
httpAPIHandler, err := nbhttp.NewAPIHandler(context.Background(), s.AccountManager(), s.NetworksManager(), s.ResourcesManager(), s.RoutesManager(), s.GroupsManager(), s.GeoLocationManager(), s.AuthManager(), s.Metrics(), s.IntegratedValidator(), s.ProxyController(), s.PermissionsManager(), s.PeersManager(), s.SettingsManager(), s.NetworkMapController())
|
httpAPIHandler, err := nbhttp.NewAPIHandler(context.Background(), s.AccountManager(), s.NetworksManager(), s.ResourcesManager(), s.RoutesManager(), s.GroupsManager(), s.GeoLocationManager(), s.Router(), s.Metrics(), s.IntegratedValidator(), s.ProxyController(), s.PermissionsManager(), s.PeersManager(), s.SettingsManager(), s.NetworkMapController())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("failed to create API handler: %v", err)
|
log.Fatalf("failed to create API handler: %v", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,25 +50,11 @@ const (
|
|||||||
rateLimitingRPMKey = "NB_API_RATE_LIMITING_RPM"
|
rateLimitingRPMKey = "NB_API_RATE_LIMITING_RPM"
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewAPIHandler creates the Management service HTTP API handler registering all the available endpoints.
|
func NewRouter(
|
||||||
func NewAPIHandler(
|
|
||||||
ctx context.Context,
|
|
||||||
accountManager account.Manager,
|
|
||||||
networksManager nbnetworks.Manager,
|
|
||||||
resourceManager resources.Manager,
|
|
||||||
routerManager routers.Manager,
|
|
||||||
groupsManager nbgroups.Manager,
|
|
||||||
LocationManager geolocation.Geolocation,
|
|
||||||
authManager auth.Manager,
|
authManager auth.Manager,
|
||||||
appMetrics telemetry.AppMetrics,
|
appMetrics telemetry.AppMetrics,
|
||||||
integratedValidator integrated_validator.IntegratedValidator,
|
accountManager account.Manager,
|
||||||
proxyController port_forwarding.Controller,
|
) *mux.Router {
|
||||||
permissionsManager permissions.Manager,
|
|
||||||
peersManager nbpeers.Manager,
|
|
||||||
settingsManager settings.Manager,
|
|
||||||
networkMapController network_map.Controller,
|
|
||||||
) (http.Handler, error) {
|
|
||||||
|
|
||||||
var rateLimitingConfig *middleware.RateLimiterConfig
|
var rateLimitingConfig *middleware.RateLimiterConfig
|
||||||
if os.Getenv(rateLimitingEnabledKey) == "true" {
|
if os.Getenv(rateLimitingEnabledKey) == "true" {
|
||||||
rpm := 6
|
rpm := 6
|
||||||
@@ -112,10 +98,31 @@ func NewAPIHandler(
|
|||||||
rootRouter := mux.NewRouter()
|
rootRouter := mux.NewRouter()
|
||||||
metricsMiddleware := appMetrics.HTTPMiddleware()
|
metricsMiddleware := appMetrics.HTTPMiddleware()
|
||||||
|
|
||||||
prefix := apiPrefix
|
router := rootRouter.PathPrefix(apiPrefix).Subrouter()
|
||||||
router := rootRouter.PathPrefix(prefix).Subrouter()
|
|
||||||
|
|
||||||
router.Use(metricsMiddleware.Handler, corsMiddleware.Handler, authMiddleware.Handler)
|
router.Use(metricsMiddleware.Handler, corsMiddleware.Handler, authMiddleware.Handler)
|
||||||
|
return router
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewAPIHandler creates the Management service HTTP API handler registering all the available endpoints.
|
||||||
|
func NewAPIHandler(
|
||||||
|
ctx context.Context,
|
||||||
|
accountManager account.Manager,
|
||||||
|
networksManager nbnetworks.Manager,
|
||||||
|
resourceManager resources.Manager,
|
||||||
|
routerManager routers.Manager,
|
||||||
|
groupsManager nbgroups.Manager,
|
||||||
|
LocationManager geolocation.Geolocation,
|
||||||
|
router *mux.Router,
|
||||||
|
appMetrics telemetry.AppMetrics,
|
||||||
|
integratedValidator integrated_validator.IntegratedValidator,
|
||||||
|
proxyController port_forwarding.Controller,
|
||||||
|
permissionsManager permissions.Manager,
|
||||||
|
peersManager nbpeers.Manager,
|
||||||
|
settingsManager settings.Manager,
|
||||||
|
networkMapController network_map.Controller,
|
||||||
|
) (http.Handler, error) {
|
||||||
|
|
||||||
|
prefix := apiPrefix
|
||||||
|
|
||||||
if _, err := integrations.RegisterHandlers(ctx, prefix, router, accountManager, integratedValidator, appMetrics.GetMeter(), permissionsManager, peersManager, proxyController, settingsManager); err != nil {
|
if _, err := integrations.RegisterHandlers(ctx, prefix, router, accountManager, integratedValidator, appMetrics.GetMeter(), permissionsManager, peersManager, proxyController, settingsManager); err != nil {
|
||||||
return nil, fmt.Errorf("register integrations endpoints: %w", err)
|
return nil, fmt.Errorf("register integrations endpoints: %w", err)
|
||||||
@@ -134,5 +141,5 @@ func NewAPIHandler(
|
|||||||
events.AddEndpoints(accountManager, router)
|
events.AddEndpoints(accountManager, router)
|
||||||
networks.AddEndpoints(networksManager, resourceManager, routerManager, groupsManager, accountManager, router)
|
networks.AddEndpoints(networksManager, resourceManager, routerManager, groupsManager, accountManager, router)
|
||||||
|
|
||||||
return rootRouter, nil
|
return router, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user