@idealite/web-services
Version:
Comprehensive web services library with webhook system and Mux integration
71 lines • 2.78 kB
TypeScript
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