http_type/
lib.rs

1//! http-type
2//!
3//! A comprehensive Rust library providing essential types for HTTP operations.
4//! Includes core HTTP abstractions (request/response, methods, status codes, versions),
5//! content types, cookies, WebSocket support, and thread-safe
6//! concurrent types (ArcMutex, ArcRwLock). Also provides convenient
7//! Option-wrapped primitive types for flexible HTTP handling.
8
9pub(crate) mod any;
10pub(crate) mod arc_mutex;
11pub(crate) mod arc_rwlock;
12pub(crate) mod box_rwlock;
13pub(crate) mod content_type;
14pub(crate) mod cookie;
15pub(crate) mod file_extension;
16pub(crate) mod hash_map_xx_hash3_64;
17pub(crate) mod hash_set_xx_hash3_64;
18pub(crate) mod http_status;
19pub(crate) mod http_url;
20pub(crate) mod http_version;
21pub(crate) mod json;
22pub(crate) mod methods;
23pub(crate) mod option_bool;
24pub(crate) mod option_compress;
25pub(crate) mod option_duration;
26pub(crate) mod option_i128;
27pub(crate) mod option_i32;
28pub(crate) mod option_i64;
29pub(crate) mod option_str;
30pub(crate) mod option_string;
31pub(crate) mod option_u128;
32pub(crate) mod option_u16;
33pub(crate) mod option_u32;
34pub(crate) mod option_u64;
35pub(crate) mod option_usize;
36pub(crate) mod option_vec_u8;
37pub(crate) mod protocol;
38pub(crate) mod rc_rwlock;
39pub(crate) mod request;
40pub(crate) mod response;
41pub(crate) mod stream;
42pub(crate) mod upgrade_type;
43pub(crate) mod websocket_frame;
44
45pub use any::*;
46pub use arc_mutex::*;
47pub use arc_rwlock::*;
48pub use box_rwlock::*;
49pub use content_type::*;
50pub use cookie::*;
51pub use file_extension::*;
52pub use hash_map_xx_hash3_64::*;
53pub use hash_set_xx_hash3_64::*;
54pub use http_status::*;
55pub use http_url::*;
56pub use http_version::*;
57pub use json::*;
58pub use methods::*;
59pub use option_bool::*;
60pub use option_compress::*;
61pub use option_duration::*;
62pub use option_i32::*;
63pub use option_i64::*;
64pub use option_i128::*;
65pub use option_str::*;
66pub use option_string::*;
67pub use option_u16::*;
68pub use option_u32::*;
69pub use option_u64::*;
70pub use option_u128::*;
71pub use option_usize::*;
72pub use option_vec_u8::*;
73pub use protocol::*;
74pub use rc_rwlock::*;
75pub use request::*;
76pub use response::*;
77pub use stream::*;
78pub use upgrade_type::*;
79pub use websocket_frame::*;
80
81pub use http_compress::*;
82pub use http_constant::*;
83pub use tokio;
84
85pub(crate) use core::hash::BuildHasherDefault;
86pub(crate) use lombok_macros::*;
87pub(crate) use serde::{Serialize, de::DeserializeOwned};
88pub(crate) use std::{
89    any::Any,
90    collections::{HashMap, HashSet, VecDeque},
91    error::Error as StdError,
92    fmt::{self, Debug, Display},
93    hash::Hash,
94    io::ErrorKind,
95    net::{IpAddr, SocketAddr},
96    rc::Rc,
97    result::Result,
98    str::FromStr,
99    sync::Arc,
100    time::Duration,
101};
102pub(crate) use tokio::{
103    io::{AsyncBufReadExt, AsyncReadExt, AsyncWriteExt, BufReader},
104    net::TcpStream,
105    sync::{Mutex, MutexGuard, RwLock, RwLockReadGuard, RwLockWriteGuard},
106};
107pub(crate) use url::Url as UrlParser;