1pub mod cache;
2pub mod config;
3pub mod container;
4pub mod database;
5pub mod error;
6pub mod http;
7pub mod inertia;
8pub mod middleware;
9pub mod routing;
10pub mod server;
11pub mod testing;
12
13pub use cache::{Cache, CacheConfig, CacheStore, InMemoryCache, RedisCache};
14pub use config::{env, env_optional, env_required, AppConfig, Config, Environment, ServerConfig};
15pub use container::{App, Container};
16pub use database::{
17 AutoRouteBinding, Database, DatabaseConfig, DatabaseType, DbConnection, Model, ModelMut,
18 RouteBinding, DB,
19};
20pub use error::{AppError, FrameworkError, HttpError, ValidationErrors};
21pub use http::{
22 json, text, FormRequest, FromParam, FromRequest, HttpResponse, Redirect, Request, Response,
23 ResponseExt,
24};
25pub use inertia::{InertiaConfig, InertiaContext, InertiaResponse};
26pub use middleware::{
27 register_global_middleware, Middleware, MiddlewareFuture, MiddlewareRegistry, Next,
28};
29pub use routing::{
30 route, validate_route_path,
31 __delete_impl, __fallback_impl, __get_impl, __post_impl, __put_impl,
33 FallbackDefBuilder, GroupBuilder, GroupDef, GroupItem, GroupRoute, GroupRouter,
34 IntoGroupItem, RouteBuilder, RouteDefBuilder, Router,
35};
36pub use server::Server;
37
38pub use async_trait::async_trait;
40
41#[doc(hidden)]
43pub use inventory;
44
45#[doc(hidden)]
47pub use serde_json;
48
49pub use serde;
51
52pub use validator;
54pub use validator::Validate;
55
56pub use kit_macros::domain_error;
58pub use kit_macros::handler;
59pub use kit_macros::inertia_response;
60pub use kit_macros::injectable;
61pub use kit_macros::redirect;
62pub use kit_macros::request;
63pub use kit_macros::service;
64pub use kit_macros::FormRequest as FormRequestDerive;
65pub use kit_macros::InertiaProps;
66pub use kit_macros::kit_test;
67
68pub use kit_macros::describe;
70pub use kit_macros::test;
71
72#[macro_export]
73macro_rules! json_response {
74 ($($json:tt)+) => {
75 Ok($crate::HttpResponse::json($crate::serde_json::json!($($json)+)))
76 };
77}
78
79#[macro_export]
80macro_rules! text_response {
81 ($text:expr) => {
82 Ok($crate::HttpResponse::text($text))
83 };
84}
85
86#[macro_export]
104macro_rules! global_middleware {
105 ($middleware:expr) => {
106 $crate::register_global_middleware($middleware)
107 };
108}
109
110#[macro_export]
133macro_rules! expect {
134 ($value:expr) => {
135 $crate::testing::Expect::new($value, concat!(file!(), ":", line!()))
136 };
137}