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