Lewati ke konten

Mesin Inti (Core Engine)

Modul inti mencakup mesin eksekusi HTTP utama, primitif konteks permintaan, router pohon radix, dan connection pooling upstream. Modul ini mengelola koneksi soket, mengurai payload HTTP yang masuk, dan mengoordinasikan penerusan upstream tanpa dependensi eksternal. Setiap koneksi masuk melewati lapisan ini secara langsung sebelum mencapai kebijakan tingkat tinggi.

SimbolJenisTanda TanganTujuan
TransformationMetricsinterfaceinterface TransformationMetricsTransformation metrics
CompressionMetricsinterfaceinterface CompressionMetricsCompression metrics
WebSocketMetricsinterfaceinterface WebSocketMetricsWebSocket metrics
RouteMetricsinterfaceinterface RouteMetricsPer-route metrics
UpstreamMetricsinterfaceinterface UpstreamMetricsPer-upstream metrics
ErrorMetricsinterfaceinterface ErrorMetricsError metrics by category
ErrorRateMetricsinterfaceinterface ErrorRateMetricsError rate metrics for
TimeWindowMetricsinterfaceinterface TimeWindowMetricsTime window metrics
RouteErrorRateinterfaceinterface RouteErrorRateRoute error rate
UpstreamErrorRateinterfaceinterface UpstreamErrorRateUpstream error rate
RetryStatisticsinterfaceinterface RetryStatisticsRetry statistics for
UpstreamRetryStatsinterfaceinterface UpstreamRetryStatsUpstream retry statistics
TimeoutMetricsinterfaceinterface TimeoutMetricsTimeout metrics for
RouteTimeoutMetricsinterfaceinterface RouteTimeoutMetricsRoute timeout metrics
UpstreamTimeoutMetricsinterfaceinterface UpstreamTimeoutMetricsUpstream timeout metrics
CircuitBreakerMetricsinterfaceinterface CircuitBreakerMetricsCircuit breaker metrics for
UpstreamCircuitBreakerStateinterfaceinterface UpstreamCircuitBreakerStateUpstream circuit breaker state
AdvancedMetricsConfiginterfaceinterface AdvancedMetricsConfigAdvanced metrics configuration
AdvancedMetricsclassclass AdvancedMetricsAdvanced Metrics Collector
SimbolJenisTanda TanganTujuan
ContentTypeenumenum ContentTypeSupported content types
ParsedBodyinterfaceinterface ParsedBodyParsed body result
BodyParserErrorclassclass BodyParserError extends ErrorBody parser error
BodyParserclassclass BodyParserStream-based body parser
SimbolJenisTanda TanganTujuan
CircuitBreakerEventenumenum CircuitBreakerEventCircuit breaker events
CircuitBreakerMetricsinterfaceinterface CircuitBreakerMetricsCircuit breaker metrics
CircuitBreakerclassclass CircuitBreakerCircuit breaker implementation
SimbolJenisTanda TanganTujuan
ResourceTypeenumenum ResourceTypeResource types
CleanupStatsinterfaceinterface CleanupStatsCleanup statistics
CleanupConfiginterfaceinterface CleanupConfigCleanup configuration
CleanupManagerclassclass CleanupManagerCleanup Manager
SimbolJenisTanda TanganTujuan
CompressionAlgorithmtypetype CompressionAlgorithm = 'gzip' | 'br' | 'deflate'Supported compression algorithms
CompressionConfiginterfaceinterface CompressionConfigCompression configuration
CompressionResultinterfaceinterface CompressionResultCompression result
DecompressionResultinterfaceinterface DecompressionResultDecompression result
CompressionHandlerclassclass CompressionHandlerCompression Handler
SimbolJenisTanda TanganTujuan
ConcurrencyLimiterOptionsinterfaceinterface ConcurrencyLimiterOptionsInterface export for ConcurrencyLimiterOptions.
ConcurrencyLimiterclassclass ConcurrencyLimiterClass export for ConcurrencyLimiter.
SimbolJenisTanda TanganTujuan
RequestTimestampsinterfaceinterface RequestTimestampsPerformance tracking timestamps for request lifecycle
PoolableRequestContextclassclass PoolableRequestContext implements RequestContextEnhanced request context with pooling support
PoolMetricsinterfaceinterface PoolMetricsPool metrics for monitoring
ContextPoolclassclass ContextPoolContext pool for zero-allocation request handling
SimbolJenisTanda TanganTujuan
ErrorResponseinterfaceinterface ErrorResponseStandardized error response format
ErrorResponseConfiginterfaceinterface ErrorResponseConfigError response configuration
ErrorResponseBuilderclassclass ErrorResponseBuilderError Response Builder
errorResponseBuilderconstconst errorResponseBuilder = new ErrorResponseBuilder()Global error response builder instance
SimbolJenisTanda TanganTujuan
ErrorContextinterfaceinterface ErrorContextError context information
GatewayErrorclassclass GatewayError extends ErrorBase gateway error class
UpstreamErrorclassclass UpstreamError extends GatewayErrorUpstream-related error
TimeoutErrorclassclass TimeoutError extends GatewayErrorTimeout-specific error
ValidationErrorclassclass ValidationError extends GatewayErrorValidation error (request/config validation)
PluginErrorclassclass PluginError extends GatewayErrorPlugin execution error
CircuitBreakerErrorclassclass CircuitBreakerError extends GatewayErrorCircuit breaker error (circuit open)
ConnectionErrorclassclass ConnectionError extends GatewayErrorConnection pool error
isRetryablefunctionfunction isRetryable(error: Error | GatewayError): booleanHelper to check if error is retryable
getStatusCodefunctionfunction getStatusCode(error: Error | GatewayError): numberHelper to determine HTTP status code from error
wrapErrorfunctionfunction wrapError(Helper to wrap standard errors in GatewayError
SimbolJenisTanda TanganTujuan
FallbackResponseinterfaceinterface FallbackResponseFallback response
FallbackConfiginterfaceinterface FallbackConfigFallback configuration
FallbackContextinterfaceinterface FallbackContextFallback context
FallbackHandlerclassclass FallbackHandlerFallback Handler
SimbolJenisTanda TanganTujuan
HealthCheckResultinterfaceinterface HealthCheckResultHealth check result
HealthCheckStatsinterfaceinterface HealthCheckStatsHealth check statistics
HealthCheckerclassclass HealthCheckerHealth checker implementation
SimbolJenisTanda TanganTujuan
PoolMetricsinterfaceinterface PoolMetricsConnection pool metrics
HttpClientPoolclassclass HttpClientPoolHTTP client connection pool
SimbolJenisTanda TanganTujuan
LoadBalancerMetricsinterfaceinterface LoadBalancerMetricsLoad balancer metrics
LoadBalancerContextinterfaceinterface LoadBalancerContextLoad balancer context for a request
LoadBalancerclassclass LoadBalancerLoad balancer implementation
SimbolJenisTanda TanganTujuan
MemoryStatsinterfaceinterface MemoryStatsMemory statistics
HeapGrowthAnalysisinterfaceinterface HeapGrowthAnalysisHeap growth analysis result
LeakReportinterfaceinterface LeakReportMemory leak report
GCStatsinterfaceinterface GCStatsGC statistics
MemoryOptimizerclassclass MemoryOptimizerMemory optimizer class
SimbolJenisTanda TanganTujuan
MetricsSnapshotinterfaceinterface MetricsSnapshotMetrics snapshot
MetricsAggregatorclassclass MetricsAggregatorMetrics Aggregator
SimbolJenisTanda TanganTujuan
OpenApiInfointerfaceinterface OpenApiInfoInterface export for OpenApiInfo.
OpenApiDocinterfaceinterface OpenApiDocInterface export for OpenApiDoc.
toOpenApiPathfunctionfunction toOpenApiPath(path: string): { path: string; params: string[] }Convert gateway path syntax (/users/:id, /files/*) to OpenAPI (/users/{id}, /files/{wildcard}).
generateOpenApifunctionfunction generateOpenApi(config: GatewayConfig, info: OpenApiInfo): OpenApiDocBuild an OpenAPI 3.1 document from the gateway config. Routes are grouped by their first path segment as tags.
SimbolJenisTanda TanganTujuan
ProxyHandlerConfiginterfaceinterface ProxyHandlerConfigProxy handler configuration
ProxyHandlerclassclass ProxyHandlerProxy handler for upstream requests
SimbolJenisTanda TanganTujuan
TokenBucketConfiginterfaceinterface TokenBucketConfigToken bucket configuration
RateLimitResultinterfaceinterface RateLimitResultRate limit result
TokenBucketRateLimiterclassclass TokenBucketRateLimiterToken Bucket Rate Limiter Implements high-performance token bucket algorithm with LRU eviction
SlidingWindowConfiginterfaceinterface SlidingWindowConfigSliding Window Counter Configuration
SlidingWindowRateLimiterclassclass SlidingWindowRateLimiterSliding Window Counter Rate Limiter Alternative algorithm for rate limiting
SimbolJenisTanda TanganTujuan
HeaderTransformationsinterfaceinterface HeaderTransformationsHeader transformation operations
QueryTransformationsinterfaceinterface QueryTransformationsQuery parameter transformation operations
PathRewriteRuleinterfaceinterface PathRewriteRulePath rewrite rule
BodyTransformationsinterfaceinterface BodyTransformationsBody transformation operations
TransformationConditioninterfaceinterface TransformationConditionConditional transformation rule
RequestTransformationinterfaceinterface RequestTransformationComplete request transformation configuration
TransformationResultinterfaceinterface TransformationResultTransformation result
RequestTransformerclassclass RequestTransformerRequest Transformer
SimbolJenisTanda TanganTujuan
ResponseCachePolicyclassclass ResponseCachePolicy implements GatewayPolicyClass export for ResponseCachePolicy.
SimbolJenisTanda TanganTujuan
CacheConfiginterfaceinterface CacheConfigCache configuration
CacheLookupStatetypetype CacheLookupState = 'fresh' | 'stale' | 'miss'Result of a cache lookup: the stored response (if any) plus freshness state. - ‘fresh’ : age <= ttl, serve directly - ’
CacheLookupinterfaceinterface CacheLookupInterface export for CacheLookup.
CachedResponseinterfaceinterface CachedResponseCached response entry
CacheStatsinterfaceinterface CacheStatsCache statistics
CacheControlinterfaceinterface CacheControlCache control directives parsed from headers
ResponseCacheclassclass ResponseCacheResponse Cache System Implements LRU cache with TTL and HTTP caching semantics
SimbolJenisTanda TanganTujuan
ResponseHeaderTransformationsinterfaceinterface ResponseHeaderTransformationsResponse header transformation operations
StatusCodeMappinginterfaceinterface StatusCodeMappingStatus code mapping
CorsConfiginterfaceinterface CorsConfigCORS configuration
ErrorTemplateinterfaceinterface ErrorTemplateError response template
ResponseBodyTransformationsinterfaceinterface ResponseBodyTransformationsResponse body transformations
ResponseTransformationConditioninterfaceinterface ResponseTransformationConditionConditional transformation rule
ResponseTransformationinterfaceinterface ResponseTransformationComplete response transformation configuration
ResponseTransformationResultinterfaceinterface ResponseTransformationResultTransformation result
ResponseTransformerclassclass ResponseTransformerResponse Transformer
SimbolJenisTanda TanganTujuan
RetryConfiginterfaceinterface RetryConfigRetry configuration
RetryAttemptinterfaceinterface RetryAttemptRetry attempt information
RetryContextinterfaceinterface RetryContextRetry context
RetryResultinterfaceinterface RetryResult<T>Retry result
RetryManagerclassclass RetryManagerRetry Manager
SimbolJenisTanda TanganTujuan
Routerclassclass RouterHigh-performance router implementation
SimbolJenisTanda TanganTujuan
Serverclassclass ServerNative HTTP server implementation
SimbolJenisTanda TanganTujuan
TimeoutConfiginterfaceinterface TimeoutConfigTimeout configuration
TimeoutHandleinterfaceinterface TimeoutHandleTimeout handle
TimeoutContextinterfaceinterface TimeoutContextTimeout context
TimeoutManagerclassclass TimeoutManagerTimeout Manager
SimbolJenisTanda TanganTujuan
ForwardRequestinterfaceinterface ForwardRequestInterface export for ForwardRequest.
ForwardResultinterfaceinterface ForwardResultInterface export for ForwardResult.
UrlForwarderclassclass UrlForwarderClass export for UrlForwarder.
SimbolJenisTanda TanganTujuan
OptimizationStatusinterfaceinterface OptimizationStatusOptimization status for a function
ShapeAnalysisinterfaceinterface ShapeAnalysisShape/hidden class analysis result
DeoptInfointerfaceinterface DeoptInfoDeoptimization information
HandlerConfiginterfaceinterface HandlerConfigHandler configuration for monomorphic patterns
Handlerinterfaceinterface Handler<T>Generic handler interface
V8Optimizerclassclass V8OptimizerV8 optimizer class for performance analysis
createMonomorphicHandlerfunctionfunction createMonomorphicHandler<T>(config: HandlerConfig): Handler<T>Create a monomorphic handler for consistent type handling Helps V8 optimize inline caching by maintaining type consisten
ensureHiddenClassStabilityfunctionfunction ensureHiddenClassStability(obj: object): voidEnsure hidden class stability by setting properties in consistent order Important for V8 inline caching optimization
createStableObjectfunctionfunction createStableObject<T extends Record<string, unknown>>(Create object with stable shape Initializes all properties at once to create stable hidden class
createPropertyAccessorfunctionfunction createPropertyAccessor<T extends object, K extends keyof T>(Fast property accessor using IC-friendly patterns Uses monomorphic property access for better optimization
PolymorphismDetectorclassclass PolymorphismDetectorPolymorphism detector Helps identify code paths that might deoptimize
polymorphismDetectorconstconst polymorphismDetector = new PolymorphismDetector()Export singleton detector instance

Router mengompilasi pola rute ke dalam trie radix terkompresi dengan kompleksitas pencarian O(k) di mana k adalah kedalaman path.

Mengalirkan request klien langsung ke soket upstream menggunakan connection pool Keep-Alive untuk memangkas latensi handshake.

Menyediakan cache in-memory berkecepatan tinggi dengan pembatalan TTL atomik dan pembatasan batas memori.

  • src/core/advanced-metrics.ts
  • src/core/body-parser.ts
  • src/core/circuit-breaker.ts
  • src/core/cleanup-manager.ts
  • src/core/compression-handler.ts
  • src/core/concurrency-limiter.ts
  • src/core/context.ts
  • src/core/error-response.ts
  • src/core/errors.ts
  • src/core/fallback-handler.ts
  • src/core/health-checker.ts
  • src/core/http-client-pool.ts
  • src/core/load-balancer.ts
  • src/core/memory-optimizer.ts
  • src/core/metrics-aggregator.ts
  • src/core/openapi-generator.ts
  • src/core/proxy-handler.ts
  • src/core/rate-limiter.ts
  • src/core/request-transformer.ts
  • src/core/response-cache-policy.ts
  • src/core/response-cache.ts
  • src/core/response-transformer.ts
  • src/core/retry-manager.ts
  • src/core/router.ts
  • src/core/server.ts
  • src/core/timeout-manager.ts
  • src/core/url-forward.ts
  • src/core/v8-optimizations.ts