Skip to content

API Gateway

Quellverzeichnis: modules/api-gateway/

APISIX-Anbindung: Routen, Rate-Limits, API-Keys und externe Zugangspunkte.

Geschäftslogik des Moduls (src/services/):

  • AccessLogService
  • ApiConsumerService
  • ApiKeyNotFoundError
  • ApiKeyService
  • ApiKeyTerminalError
  • ConsumerAlreadyExistsError
  • ConsumerNotFoundError
  • ConsumerTerminalError
  • DlpPolicyNotFoundError
  • DlpService
  • GatewayService
  • RateLimitPolicyAlreadyExistsError
  • RateLimitPolicyNotFoundError
  • RateLimitService
  • RouteAlreadyExistsError
  • RouteMatchNotFoundError
  • RouteNotFoundError
  • RoutingService
  • WebhookDeliveryNotFoundError
  • WebhookService
  • WebhookSubscriptionNotFoundError
  • WebhookSubscriptionTerminalError

Datenzugriffs-Ports (src/repositories/):

  • AccessLogRepository
  • ApiConsumerRepository
  • ApiKeyRepository
  • DlpPolicyRepository
  • InMemoryAccessLogRepository
  • InMemoryApiConsumerRepository
  • InMemoryApiKeyRepository
  • InMemoryDlpPolicyRepository
  • InMemoryQuotaUsageRepository
  • InMemoryRateLimitPolicyRepository
  • InMemoryRouteDefinitionRepository
  • InMemoryWebhookDeliveryRepository
  • InMemoryWebhookSubscriptionRepository
  • QuotaUsageRepository
  • RateLimitPolicyRepository
  • RouteDefinitionRepository
  • WebhookDeliveryRepository
  • WebhookSubscriptionRepository

Vom Modul emittierte Ereignisse (src/events.ts):

  • API_GATEWAY_EVENT_TYPES
  • EventHandler
  • apiKeyCreated
  • apiKeyRevoked
  • apiKeyRotated
  • consumerApproved
  • consumerRegistered
  • consumerRevoked
  • consumerSuspended
  • quotaAlert
  • rateLimitExceeded
  • routeDeprecated
  • routePublished
  • webhookDeadLettered
  • webhookDeliveryFailed
  • webhookSubscribed

HTTP-Endpunkte unter api/routes/api-gateway/ — Details in der API-Referenz.

Methode Pfad Datei
GET /v1/gateway/access-log policies.ts
GET /v1/gateway/access-log/:id policies.ts
GET /v1/gateway/api-keys consumers.ts
GET /v1/gateway/api-keys/:id consumers.ts
POST /v1/gateway/api-keys/:id/revoke consumers.ts
POST /v1/gateway/api-keys/:id/rotate consumers.ts
GET /v1/gateway/consumers consumers.ts
POST /v1/gateway/consumers consumers.ts
GET /v1/gateway/consumers/:id consumers.ts
PATCH /v1/gateway/consumers/:id consumers.ts
GET /v1/gateway/consumers/:id/api-keys consumers.ts
POST /v1/gateway/consumers/:id/api-keys consumers.ts
POST /v1/gateway/consumers/:id/revoke consumers.ts
POST /v1/gateway/consumers/:id/scopes consumers.ts
POST /v1/gateway/consumers/:id/suspend consumers.ts
POST /v1/gateway/consumers/:id/transition consumers.ts
GET /v1/gateway/dlp-policies policies.ts
POST /v1/gateway/dlp-policies policies.ts
GET /v1/gateway/dlp-policies/:id policies.ts
PATCH /v1/gateway/dlp-policies/:id policies.ts
DELETE /v1/gateway/dlp-policies/:id policies.ts
GET /v1/gateway/quota/:consumerId policies.ts
GET /v1/gateway/rate-limit-policies policies.ts
POST /v1/gateway/rate-limit-policies policies.ts
GET /v1/gateway/rate-limit-policies/:id policies.ts
DELETE /v1/gateway/rate-limit-policies/:id policies.ts
GET /v1/gateway/routes policies.ts
POST /v1/gateway/routes policies.ts
GET /v1/gateway/routes/:id policies.ts
PATCH /v1/gateway/routes/:id policies.ts
DELETE /v1/gateway/routes/:id policies.ts
GET /v1/gateway/webhooks/deliveries webhooks.ts
GET /v1/gateway/webhooks/deliveries/:id webhooks.ts
POST /v1/gateway/webhooks/deliveries/:id/retry webhooks.ts
GET /v1/gateway/webhooks/deliveries/dead-letter webhooks.ts
POST /v1/gateway/webhooks/dispatch webhooks.ts
GET /v1/gateway/webhooks/subscriptions webhooks.ts
POST /v1/gateway/webhooks/subscriptions webhooks.ts
GET /v1/gateway/webhooks/subscriptions/:id webhooks.ts
PATCH /v1/gateway/webhooks/subscriptions/:id webhooks.ts
POST /v1/gateway/webhooks/subscriptions/:id/pause webhooks.ts
POST /v1/gateway/webhooks/subscriptions/:id/resume webhooks.ts
POST /v1/gateway/webhooks/subscriptions/:id/revoke webhooks.ts

Über den Modul-Index (src/index.ts) exportierte Symbole — die einzige erlaubte Zugriffsart von außen:

  • // Aggregate Roots ApiConsumer
  • // ApiKey apiKeyCreated
  • // ApiKey Generator type GeneratedApiKey
  • // ApiKey transitions canTransitionApiKey
  • // CloudEvents type BuildCloudEventInput
  • // Consumer consumerRegistered
  • // Consumer transitions canTransitionConsumer
  • // DLP Masker type DlpMasker
  • // DTOs - AccessLog CreateAccessLogInput
  • // DTOs - ApiConsumer RegisterConsumerInput
  • // DTOs - ApiKey CreateApiKeyInput
  • // DTOs - DlpPolicy CreateDlpPolicyInput
  • // DTOs - QuotaUsage CheckQuotaInput
  • // DTOs - RateLimitPolicy CreateRateLimitPolicyInput
  • // DTOs - RouteDefinition CreateRouteInput
  • // DTOs - WebhookDelivery DispatchWebhookInput
  • // DTOs - WebhookSubscription CreateWebhookSubscriptionInput
  • // Default Tier Limits DEFAULT_TIER_LIMITS
  • // Enums ConsumerStatus
  • // Errors ValidationError
  • // Helper now
  • // Rate-Limit / Quota rateLimitExceeded
  • // Route routePublished
  • // Signing Secret Provider type SigningSecretProvider
  • // Validations - Common isValidTimestamp
  • // Validations - Enums isValidConsumerStatus
  • // Validations - Specific isValidHttpsUrl
  • // Value Objects RateLimitConfig
  • // Webhook webhookSubscribed
  • // Webhook Dispatcher type WebhookDispatcher
  • // WebhookDelivery transitions canTransitionDelivery
  • // WebhookSubscription transitions canTransitionWebhookSubscription
  • API_GATEWAY_EVENT_TYPES
  • AccessLog
  • AccessLogService
  • ApiConsumerService
  • ApiKey
  • ApiKeyNotFoundError
  • ApiKeyService
  • ApiKeyStatus
  • … und 165 weitere

Zurück zur Modul-Übersicht oder zur Startseite.