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 methods;
22pub(crate) mod protocol;
23pub(crate) mod rc_rwlock;
24pub(crate) mod request;
25pub(crate) mod response;
26pub(crate) mod stream;
27pub(crate) mod upgrade_type;
28pub(crate) mod websocket_frame;
29
30pub use any::*;
31pub use arc_mutex::*;
32pub use arc_rwlock::*;
33pub use box_rwlock::*;
34pub use content_type::*;
35pub use cookie::*;
36pub use file_extension::*;
37pub use hash_map_xx_hash3_64::*;
38pub use hash_set_xx_hash3_64::*;
39pub use http_status::*;
40pub use http_url::*;
41pub use http_version::*;
42pub use methods::*;
43pub use protocol::*;
44pub use rc_rwlock::*;
45pub use request::*;
46pub use response::*;
47pub use stream::*;
48pub use upgrade_type::*;
49pub use websocket_frame::*;
50
51pub use http_compress::*;
52pub use http_constant::*;
53pub use serde_json;
54pub use tokio;
55
56pub(crate) use core::hash::BuildHasherDefault;
57pub(crate) use lombok_macros::*;
58pub(crate) use serde::{Deserialize, Serialize, de::DeserializeOwned};
59pub(crate) use std::{
60    any::Any,
61    collections::{HashMap, HashSet, VecDeque},
62    fmt::{self, Debug, Display},
63    hash::Hash,
64    io::ErrorKind,
65    net::IpAddr,
66    rc::Rc,
67    result::Result,
68    str::FromStr,
69    sync::Arc,
70    time::Duration,
71};
72pub(crate) use tokio::{
73    io::{AsyncBufReadExt, AsyncReadExt, AsyncWriteExt, BufReader},
74    net::TcpStream,
75    sync::{Mutex, MutexGuard, RwLock, RwLockReadGuard, RwLockWriteGuard},
76    time::timeout,
77};
78pub(crate) use url::Url;