@re-auth/http-adapters
Version:
HTTP protocol adapters for ReAuth - framework-agnostic integration with Express, Fastify, and Hono
40 lines (37 loc) • 1.31 kB
TypeScript
import { HttpAdapterConfig, PluginEndpoint } from '../types.js';
import { ReAuthHttpAdapter } from '../base-adapter.js';
import { ReAuthEngine } from '@re-auth/reauth';
import { LoggerInterface } from '@re-auth/logger';
import '@re-auth/reauth/services';
import 'hono/utils/cookie';
/**
* Factory function to create HTTP adapter with default configuration
*/
declare function createReAuthHttpAdapter(config: Partial<HttpAdapterConfig> & {
engine: ReAuthEngine;
}, logger: LoggerInterface): ReAuthHttpAdapter;
/**
* Auto-discover endpoints from engine and generate OpenAPI-like spec
*/
declare function generateApiSpec(adapter: ReAuthHttpAdapter): {
openapi: string;
info: object;
paths: Record<string, any>;
components: object;
};
/**
* Utility to extract plugin names from endpoints
*/
declare function getPluginNames(endpoints: PluginEndpoint[]): string[];
/**
* Utility to group endpoints by plugin
*/
declare function groupEndpointsByPlugin(endpoints: PluginEndpoint[]): Record<string, PluginEndpoint[]>;
/**
* Utility to validate adapter configuration
*/
declare function validateConfig(config: HttpAdapterConfig): {
valid: boolean;
errors: string[];
};
export { createReAuthHttpAdapter, generateApiSpec, getPluginNames, groupEndpointsByPlugin, validateConfig };