pub mod app;
pub mod auth;
pub mod cache;
#[cfg(feature = "cache-redis")]
pub mod cache_redis;
pub mod config;
pub mod context;
#[cfg(feature = "database")]
pub mod database;
pub(crate) mod date_cache;
pub mod discovery;
pub mod error;
pub mod extract;
pub mod handler;
pub mod health;
pub mod introspection;
#[cfg(feature = "database")]
pub mod jobs;
#[cfg(feature = "metrics")]
pub mod metrics;
pub mod middleware;
#[cfg(feature = "database")]
pub mod migration;
pub mod observability;
pub mod openapi;
#[cfg(feature = "database")]
pub mod pagination;
#[cfg(feature = "websocket")]
pub mod relay;
pub mod response;
pub mod router;
pub mod server;
pub mod state;
pub mod test;
pub mod testing;
#[cfg(feature = "websocket")]
pub mod websocket;
pub mod prelude {
pub use crate::app::Rapina;
pub use crate::auth::{AuthConfig, CurrentUser, TokenResponse};
pub use crate::cache::{CacheConfig, CacheMiddleware};
pub use crate::config::{
ConfigError, get_env, get_env_or, get_env_parsed, get_env_parsed_or, load_dotenv,
};
pub use crate::context::RequestContext;
pub use crate::error::{DocumentedError, Error, ErrorVariant, IntoApiError, Result};
pub use crate::extract::{Context, Cookie, Form, Headers, Json, Path, Query, State, Validated};
#[cfg(feature = "multipart")]
pub use crate::extract::{Field, Multipart};
pub use crate::introspection::RouteInfo;
#[cfg(feature = "database")]
pub use crate::jobs::{JobDescriptor, JobId, JobRequest, JobResult, JobRow, JobStatus, Jobs};
pub use crate::middleware::{
KeyExtractor, Middleware, Next, RateLimitConfig, RequestLogConfig,
};
pub use crate::observability::TracingConfig;
#[cfg(feature = "database")]
pub use crate::pagination::{Paginate, Paginated, PaginationConfig};
#[cfg(feature = "websocket")]
pub use crate::relay::{Relay, RelayConfig, RelayEvent};
pub use crate::response::{IntoResponse, StaticStr};
pub use crate::router::Router;
pub use http::{Method, StatusCode};
pub use schemars::JsonSchema;
pub use serde::{Deserialize, Serialize};
pub use tracing;
pub use validator::Validate;
pub use rapina_macros::{Config, delete, get, job, patch, post, public, put, relay, schema};
}
pub use rapina_macros::{Config, delete, get, job, patch, post, public, put, relay, schema};
pub use http;
pub use hyper;
pub use rust_decimal;
pub use schemars;
pub use serde_json;
pub use uuid;
#[doc(hidden)]
pub use inventory;
#[doc(hidden)]
pub use openapi::openapi_schema_for;
#[cfg(feature = "websocket")]
pub use futures_util;
#[cfg(feature = "websocket")]
pub use tokio_tungstenite;
#[cfg(feature = "database")]
pub use async_trait;
#[cfg(feature = "database")]
pub use sea_orm;
#[cfg(feature = "database")]
pub use sea_orm_migration;