UNPKG

nehonix-uri-processor

Version:

A powerful URI processor for encoding, decoding, and analyzing URI data securely.

67 lines 2.75 kB
import { Request, Response, NextFunction } from "express"; import { MaliciousPatternResult, MaliciousPatternOptions } from "../../../services/MaliciousPatterns.service"; import { NsbMiddlewareOptions, SecurityDatabaseAdapterType } from "../../types/types.express.middleware"; /** * Enhanced NSB Express middleware for securing incoming requests * @param options - Middleware options * @returns Express middleware function */ export declare const nehonixShieldMiddleware: (options?: NsbMiddlewareOptions) => (req: Request, res: Response, next: NextFunction) => Promise<void | Response<any, Record<string, any>>>; /** * Utility to analyze specific request components * @param req - Express request object * @param components - Components to analyze (url, headers, query, body) * @parascanRequestm options - NSB analysis options * @returns Analysis result */ export declare const scanRequest: (req: Request, components?: ("url" | "headers" | "query" | "body")[], options?: MaliciousPatternOptions & { blockOnMalicious?: boolean; }) => Promise<MaliciousPatternResult>; /** * Cleans up old suspicious IP records */ export declare function cleanupSuspiciousIPs(): void; /** * * This function aggregates all security events from the database and generates a detailed * security report with threat analysis, recommendations, and visualizable timeline data. * The report's detail level and included sections are customizable through options. * * @param options Report generation options * @returns Detailed security report * @example * ```typescript * // Generate a basic report for the last 30 days * const basicReport = await generateSecurityReport({ * days: 30, * detailLevel: 'basic' * }); * * // Generate a comprehensive report with all details * const fullReport = await generateSecurityReport({ * days: 7, * detailLevel: 'comprehensive', * includeIPs: true, * includePatterns: true, * includeRecommendations: true * }); * ``` */ export declare function generateSecurityReport(options?: { days?: number; includeIPs?: boolean; includePatterns?: boolean; includeRecommendations?: boolean; detailLevel?: "basic" | "detailed" | "comprehensive"; }): Promise<object>; /** * Function to block an IP address with a custom reason */ export declare function blockIP(ip: string, reason: string): Promise<boolean>; /** * Creates a custom database adapter for specific storage solutions * @param implementation The implementation of the database adapter * @returns A configured SecurityDatabaseAdapter */ export declare function createDatabaseAdapter(implementation: Partial<SecurityDatabaseAdapterType>): SecurityDatabaseAdapterType; //# sourceMappingURL=express.middleware.d.ts.map