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