web_server_abstraction/
lib.rs1pub mod adapters;
50pub mod auth;
51pub mod benchmarks;
52pub mod content;
53pub mod core;
54pub mod database;
55pub mod error;
56pub mod middleware;
57pub mod mountable;
58pub mod routing;
59pub mod security;
60pub mod session;
61pub mod state;
62pub mod static_files;
63pub mod types;
64
65pub use auth::{
67 auth_middleware, enhanced_auth_middleware, AuthContext, AuthContextConfig, AuthError,
68 AuthMiddlewareResult, AuthRequirements, RequestAuthExt, UserSession,
69};
70pub use core::{Handler, HandlerFn, Route, WebServer};
71pub use error::{Result, WebServerError};
72pub use types::{
73 Cookie, FileUpload, Headers, HttpMethod, MultipartForm, Request, Response, StatusCode,
74};
75
76pub use content::{CompressionMiddleware, ContentNegotiationMiddleware};
78pub use database::{
79 ConnectionPool, DatabaseConfig, DatabaseConnection, DatabaseError, DatabaseValue,
80 FromDatabaseValue, MockDatabase, PoolStats, QueryBuilder, Row, Transaction,
81};
82pub use mountable::{
83 InterfaceBuilder, InterfaceRegistry, MountOptions, MountableInterface, OpenApiSpec,
84 RouteDefinition, RouteDoc,
85};
86pub use routing::{Route as RoutePattern, Router};
87pub use security::{sanitize, CspMiddleware, CsrfMiddleware, XssProtectionMiddleware};
88pub use session::{MemorySessionStore, Session, SessionExt, SessionManager, SessionStore};
89pub use state::{AppState, Config, Environment, SharedState};
90pub use static_files::{
91 serve_static, serve_static_with_prefix, static_files, StaticFileConfig, StaticFileHandler,
92};
93
94pub use benchmarks::{BenchmarkConfig, BenchmarkResults, PerformanceProfiler};
96
97pub use adapters::mock::MockAdapter;
99
100#[cfg(feature = "axum")]
101pub use adapters::axum::AxumAdapter;
102
103#[cfg(feature = "actix-web")]
104pub use adapters::actix_web::ActixWebAdapter;
105
106#[cfg(feature = "warp")]
107pub use adapters::warp::WarpAdapter;
108
109#[cfg(feature = "rocket")]
110pub use adapters::rocket::RocketAdapter;
111
112#[cfg(feature = "salvo")]
113pub use adapters::salvo::SalvoAdapter;
114
115#[cfg(feature = "poem")]
116pub use adapters::poem::PoemAdapter;