nehonix-uri-processor
Version:
A powerful URI processor for encoding, decoding, and analyzing URI data securely.
67 lines • 2.75 kB
TypeScript
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