#![cfg_attr(not(test), deny(clippy::unwrap_used, clippy::expect_used))]
pub mod client;
pub mod dual_format;
pub mod error;
pub mod extractors;
#[cfg(feature = "metrics")]
pub mod metrics;
pub mod middleware;
pub mod response;
pub mod server;
#[cfg(feature = "session")]
pub mod session;
pub mod startup;
pub mod tracing_init;
pub mod prelude {
pub use crate::{client::JetClient,
dual_format::{AcceptFormat,
ApiRequest,
ApiResponse,
ApiResult,
DEBUG_FORMAT_HEADER,
ResponseFormat,
configure_debug_keys},
error::{JetError,
Result},
extractors::ProtobufRequest,
response::ProtobufResponse,
server::JetServer};
pub use axum::{Router,
extract::Path,
routing::{delete,
get,
patch,
post,
put}};
pub use prost::Message;
pub use serde::{Deserialize,
Serialize};
pub use async_trait::async_trait;
pub use tower_http::cors::CorsLayer;
pub use crate::middleware::{SmartSpanMaker,
smart_trace_layer};
pub use crate::middleware::{RequestId,
RequestIdLayer,
X_REQUEST_ID};
pub use crate::startup::{StartupBanner,
mask_secret,
mask_url_credentials};
pub use crate::tracing_init::{TracingConfig,
TracingGuard,
init_tracing};
#[cfg(feature = "metrics")]
pub use crate::metrics::{MetricsConfig,
MetricsGuard,
init_metrics,
metrics_router,
record_app_info};
#[cfg(feature = "metrics")]
pub use crate::middleware::HttpMetricsLayer;
#[cfg(feature = "jwt")]
pub use crate::middleware::{JwtAuthError,
JwtAuthLayer,
JwtConfig,
JwtValidator};
#[cfg(feature = "session")]
pub use crate::session::{Session,
SessionStore};
}
pub mod content_types {
pub const APPLICATION_PROTOBUF: &str = "application/x-protobuf";
pub const APPLICATION_JSON: &str = "application/json";
}