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