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