UNPKG

@idealite/web-services

Version:

Comprehensive web services library with webhook system and Mux integration

71 lines 2.78 kB
import { HttpWebhookSender } from '../implementations/http-webhook-sender'; import { ExpressWebhookReceiver } from '../implementations/express-webhook-receiver'; import { MuxWebhookReceiver } from '../implementations/mux-webhook-receiver'; import { HmacWebhookVerifier, SimpleWebhookVerifier } from '../utils/webhook-verifiers'; import { MuxWebhookVerifier } from '../utils/mux-webhook-verifier'; import { WebhookConfig, WebhookVerifier, WebhookPayload } from '../interfaces/webhook.interface'; /** * Factory class for creating webhook senders and receivers * Provides convenient methods to create pre-configured webhook components */ export declare class WebhookFactory { /** * Create an HTTP webhook sender with configuration */ static createHttpSender(config: WebhookConfig): HttpWebhookSender; /** * Create an Express webhook receiver with optional verifier */ static createExpressReceiver(verifier?: WebhookVerifier): ExpressWebhookReceiver; /** * Create HMAC webhook verifier for secure signature verification */ static createHmacVerifier(): HmacWebhookVerifier; /** * Create simple webhook verifier for basic signature verification */ static createSimpleVerifier(): SimpleWebhookVerifier; /** * Create a complete webhook receiver with common handlers pre-registered */ static createCompleteReceiver(options?: { verifier?: WebhookVerifier; enableLogging?: boolean; customHandlers?: Array<{ type: string; handler: (payload: WebhookPayload) => Promise<void>; }>; }): ExpressWebhookReceiver; /** * Create a webhook sender with retry and error handling */ static createReliableSender(baseConfig: Omit<WebhookConfig, 'retryAttempts' | 'retryDelay'>, options?: { maxRetries?: number; retryDelay?: number; timeout?: number; }): HttpWebhookSender; /** * Create a secure webhook setup with HMAC verification */ static createSecureSetup(secret: string): { sender: (url: string) => HttpWebhookSender; receiver: ExpressWebhookReceiver; verifier: HmacWebhookVerifier; }; /** * Create a Mux webhook receiver with optional signature verification */ static createMuxReceiver(webhookSecret?: string): MuxWebhookReceiver; /** * Create a Mux webhook verifier for signature verification */ static createMuxVerifier(secret: string): MuxWebhookVerifier; /** * Create a complete Mux webhook setup with signature verification */ static createMuxSetup(secret: string): { receiver: MuxWebhookReceiver; verifier: MuxWebhookVerifier; }; } //# sourceMappingURL=webhook-factory.d.ts.map