- Removed deprecated route utility functions in favor of direct matcher usage. - Updated imports to reflect new module structure for routing utilities. - Consolidated route manager functionality into SharedRouteManager for better consistency. - Eliminated legacy routing methods and interfaces, streamlining the HttpProxy and associated components. - Enhanced WebSocket and HTTP request handling to utilize the new unified HttpRouter. - Updated route matching logic to leverage matcher classes for domain, path, and header checks. - Cleaned up legacy compatibility code across various modules, ensuring a more maintainable codebase.
38 lines
2.0 KiB
TypeScript
38 lines
2.0 KiB
TypeScript
/**
|
|
* SmartProxy main module exports
|
|
*/
|
|
|
|
// NFTables proxy exports
|
|
export * from './proxies/nftables-proxy/index.js';
|
|
|
|
// Export HttpProxy elements
|
|
export { HttpProxy, CertificateManager, ConnectionPool, RequestHandler, WebSocketHandler } from './proxies/http-proxy/index.js';
|
|
export type { IMetricsTracker, MetricsTracker } from './proxies/http-proxy/index.js';
|
|
export type { IHttpProxyOptions, ICertificateEntry, ILogger } from './proxies/http-proxy/models/types.js';
|
|
export { SharedRouteManager as HttpProxyRouteManager } from './core/routing/route-manager.js';
|
|
|
|
// Export SmartProxy elements selectively to avoid RouteManager ambiguity
|
|
export { SmartProxy, ConnectionManager, SecurityManager, TimeoutManager, TlsManager, HttpProxyBridge, RouteConnectionHandler, SmartCertManager } from './proxies/smart-proxy/index.js';
|
|
export { SharedRouteManager as RouteManager } from './core/routing/route-manager.js';
|
|
// Export smart-proxy models
|
|
export type { ISmartProxyOptions, IConnectionRecord, IRouteConfig, IRouteMatch, IRouteAction, IRouteTls, IRouteContext } from './proxies/smart-proxy/models/index.js';
|
|
export type { TSmartProxyCertProvisionObject } from './proxies/smart-proxy/models/interfaces.js';
|
|
export * from './proxies/smart-proxy/utils/index.js';
|
|
|
|
// Original: export * from './smartproxy/classes.pp.snihandler.js'
|
|
// Now we export from the new module
|
|
export { SniHandler } from './tls/sni/sni-handler.js';
|
|
// Original: export * from './smartproxy/classes.pp.interfaces.js'
|
|
// Now we export from the new module (selectively to avoid conflicts)
|
|
|
|
// Core types and utilities
|
|
export * from './core/models/common-types.js';
|
|
|
|
// Export IAcmeOptions from one place only
|
|
export type { IAcmeOptions } from './proxies/smart-proxy/models/interfaces.js';
|
|
|
|
// Modular exports for new architecture
|
|
export * as forwarding from './forwarding/index.js';
|
|
// Certificate module has been removed - use SmartCertManager instead
|
|
export * as tls from './tls/index.js';
|
|
export * as routing from './routing/index.js'; |