kit_rs/lib.rs
1pub mod http;
2pub mod routing;
3pub mod server;
4
5pub use http::{json, text, HttpResponse, Request, Response};
6pub use routing::Router;
7pub use server::Server;
8
9// Re-export for macro usage
10#[doc(hidden)]
11pub use serde_json;
12
13/// Creates a JSON response directly from a JSON literal.
14/// Returns Ok(HttpResponse) for use as Response type.
15///
16/// # Examples
17/// ```ignore
18/// json_response!({
19/// "users": [{"id": 1, "name": "John"}]
20/// })
21///
22/// // With status code (chain on the Result)
23/// json_response!({"error": "Not found"}).map(|r| r.status(404))
24/// ```
25#[macro_export]
26macro_rules! json_response {
27 ($($json:tt)+) => {
28 Ok($crate::HttpResponse::json($crate::serde_json::json!($($json)+)))
29 };
30}
31
32/// Creates a text response directly.
33/// Returns Ok(HttpResponse) for use as Response type.
34#[macro_export]
35macro_rules! text_response {
36 ($text:expr) => {
37 Ok($crate::HttpResponse::text($text))
38 };
39}