UNPKG

@gati-framework/runtime

Version:

Gati runtime execution engine for running handler-based applications

62 lines 1.97 kB
/** * @module runtime/ingress * @description Ingress component for receiving and normalizing HTTP requests */ import type { IncomingMessage } from 'http'; import type { IngressComponent, IngressConfig, AuthResult, NormalizedHeaders, RequestDescriptor, RequestIdMetadata, QueueFabric } from './types/ingress.js'; import type { HttpHeaders } from './types/request.js'; /** * Ingress component implementation * Receives external HTTP requests, authenticates, normalizes, and publishes to routing fabric */ export declare class Ingress implements IngressComponent { private config; private queueFabric; constructor(config: IngressConfig, queueFabric: QueueFabric); /** * Handle an incoming HTTP request * Main entry point for all external requests */ handleRequest(rawRequest: IncomingMessage): Promise<void>; /** * Authenticate a request based on configured auth method */ authenticate(request: IncomingMessage): Promise<AuthResult>; /** * Authenticate using JWT */ private authenticateJWT; /** * Authenticate using API key */ private authenticateApiKey; /** * Authenticate using OAuth */ private authenticateOAuth; /** * Normalize HTTP headers to consistent format */ normalizeHeaders(headers: HttpHeaders): NormalizedHeaders; /** * Assign a unique request ID with embedded metadata */ assignRequestId(_metadata: RequestIdMetadata): string; /** * Publish request descriptor to routing fabric */ publishToRoutingFabric(descriptor: RequestDescriptor): Promise<void>; /** * Read request body from IncomingMessage */ private readBody; /** * Extract metadata from request */ private extractMetadata; } /** * Create an Ingress instance */ export declare function createIngress(config: IngressConfig, queueFabric: QueueFabric): Ingress; //# sourceMappingURL=ingress.d.ts.map