1pub mod auth;
2pub mod cache;
3pub mod config;
4pub mod container;
5pub mod csrf;
6pub mod database;
7pub mod error;
8pub mod hashing;
9pub mod http;
10pub mod inertia;
11pub mod middleware;
12pub mod routing;
13pub mod schedule;
14pub mod server;
15pub mod session;
16pub mod testing;
17
18pub use auth::{Auth, Authenticatable, AuthMiddleware, GuestMiddleware, UserProvider};
19pub use cache::{Cache, CacheConfig, CacheStore, InMemoryCache, RedisCache};
20pub use config::{env, env_optional, env_required, AppConfig, Config, Environment, ServerConfig};
21pub use container::{App, Container};
22pub use csrf::{csrf_field, csrf_meta_tag, csrf_token, CsrfMiddleware};
23pub use database::{
24 AutoRouteBinding, Database, DatabaseConfig, DatabaseType, DbConnection, Model, ModelMut,
25 RouteBinding, DB,
26};
27pub use error::{AppError, FrameworkError, HttpError, ValidationErrors};
28pub use hashing::{hash, needs_rehash, verify, DEFAULT_COST as HASH_DEFAULT_COST};
29pub use http::{
30 json, text, Cookie, CookieOptions, FormRequest, FromParam, FromRequest, HttpResponse, Redirect,
31 Request, Response, ResponseExt, SameSite,
32};
33pub use session::{
34 session, session_mut, SessionConfig, SessionData, SessionMiddleware, SessionStore,
35};
36pub use inertia::{InertiaConfig, InertiaContext, InertiaResponse};
37pub use middleware::{
38 register_global_middleware, Middleware, MiddlewareFuture, MiddlewareRegistry, Next,
39};
40pub use routing::{
41 route, validate_route_path,
42 __delete_impl, __fallback_impl, __get_impl, __post_impl, __put_impl,
44 FallbackDefBuilder, GroupBuilder, GroupDef, GroupItem, GroupRoute, GroupRouter,
45 IntoGroupItem, RouteBuilder, RouteDefBuilder, Router,
46};
47pub use schedule::{CronExpression, DayOfWeek, Schedule, Task, TaskBuilder, TaskEntry, TaskResult};
48pub use server::Server;
49
50pub use async_trait::async_trait;
52
53#[doc(hidden)]
55pub use inventory;
56
57#[doc(hidden)]
59pub use serde_json;
60
61pub use serde;
63
64pub use validator;
66pub use validator::Validate;
67
68pub use kit_macros::domain_error;
70pub use kit_macros::handler;
71pub use kit_macros::inertia_response;
72pub use kit_macros::injectable;
73pub use kit_macros::redirect;
74pub use kit_macros::request;
75pub use kit_macros::service;
76pub use kit_macros::FormRequest as FormRequestDerive;
77pub use kit_macros::InertiaProps;
78pub use kit_macros::kit_test;
79
80pub use kit_macros::describe;
82pub use kit_macros::test;
83
84#[macro_export]
85macro_rules! json_response {
86 ($($json:tt)+) => {
87 Ok($crate::HttpResponse::json($crate::serde_json::json!($($json)+)))
88 };
89}
90
91#[macro_export]
92macro_rules! text_response {
93 ($text:expr) => {
94 Ok($crate::HttpResponse::text($text))
95 };
96}
97
98#[macro_export]
116macro_rules! global_middleware {
117 ($middleware:expr) => {
118 $crate::register_global_middleware($middleware)
119 };
120}
121
122#[macro_export]
145macro_rules! expect {
146 ($value:expr) => {
147 $crate::testing::Expect::new($value, concat!(file!(), ":", line!()))
148 };
149}