Skip to main content

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