Expand description
Commonly used types and traits for WsForge applications.
This prelude module re-exports the most frequently used types, making it easier to get started with WsForge. Import this module to bring all essential types into scope with a single use statement.
§Examples
use wsforge_core::prelude::*;
// Now you have access to:
// - Router, Message, Connection, ConnectionManager
// - handler(), Error, Result
// - Json, State, ConnectInfo
// - And more!
async fn my_handler(msg: Message) -> Result<String> {
Ok("Hello!".to_string())
}
let router = Router::new()
.default_handler(handler(my_handler));§Included Types
§Core Types
Router: Server router and configurationMessage: WebSocket message typeConnection: Active connection handle- [
ConnectionManager]: Manages all connections Error,Result: Error handling
§Extractors
Json<T>: JSON deserializationState<T>: Shared state extractionConnectInfo: Connection metadataData: Raw byte extractionExtension<T>: Custom extensions
§Handlers
handler(): Convert functions to handlersJsonResponse<T>: JSON response typeIntoResponse: Response conversion trait
§State
AppState: Application state containerExtensions: Request-scoped data
§Utilities
MessageType: Message type enumStaticFileHandler: Static file serving
Re-exports§
pub use crate::connection::Connection;pub use crate::connection::ConnectionId;pub use crate::connection::ConnectionManager;pub use crate::error::Error;pub use crate::error::Result;pub use crate::extractor::ConnectInfo;pub use crate::extractor::Data;pub use crate::extractor::Extension;pub use crate::extractor::Extensions;pub use crate::extractor::Json;pub use crate::extractor::Path;pub use crate::extractor::Query;pub use crate::extractor::State;pub use crate::handler::Handler;pub use crate::handler::HandlerService;pub use crate::handler::IntoResponse;pub use crate::handler::JsonResponse;pub use crate::handler::handler;pub use crate::message::Message;pub use crate::message::MessageType;pub use crate::middleware::LoggerMiddleware;pub use crate::middleware::Middleware;pub use crate::middleware::MiddlewareChain;pub use crate::middleware::Next;pub use crate::router::Route;pub use crate::router::Router;pub use crate::state::AppState;pub use crate::static_files::StaticFileHandler;