Skip to content

Commit 9c5dbac

Browse files
committed
Clean up models module
1 parent e1fe8cf commit 9c5dbac

11 files changed

Lines changed: 39 additions & 37 deletions

File tree

README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@ Parse partial/non spec compliant HTTP messages.
44

55
## Partial HTTP Message
66

7-
A partial HTTP message contains the potential spans for `method`, `uri`, `http_version`, `headers`, and `body`. The HTTP message does not need to be spec compliant so things like `http_version` are optional.
7+
A `PartialHttpRequest` contains the potential spans for `method`, `uri`, `http_version`, `headers`, and `body`. The HTTP message does not need to be spec compliant so things like `http_version` are optional.
88

99
```rust
10-
use http_message::{PartialHttpRequest, error::Error, models::request::HttpRequest};
10+
use http_message::{
11+
error::Error,
12+
models::{HttpRequest, PartialHttpRequest},
13+
};
1114

1215
fn main() {
1316
let partial = PartialHttpRequest::from_str("GET https://example.com\nx-key: 123").unwrap();
@@ -28,14 +31,15 @@ fn main() {
2831

2932
assert_eq!(Err(Error::missing_required("http_version")), request);
3033
}
34+
3135
```
3236

3337
## Parsed HTTP Message
3438

35-
A parsed HTTP message contains the spans for `method`, `uri`, `http_version`, `headers`, and `body`. The HTTP message does need to be spec compliant so things like `http_version` are required.
39+
A `ParsedHttpRequest` contains the spans for `method`, `uri`, `http_version`, `headers`, and `body`. The HTTP message does need to be spec compliant so things like `http_version` are required.
3640

3741
```rust
38-
use http_message::models::{parsed_request::ParsedHttpRequest, request::HttpRequest, uri::Uri};
42+
use http_message::models::{HttpRequest, ParsedHttpRequest, Uri};
3943

4044
fn main() {
4145
let parsed =

examples/parsed.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use http_message::models::{parsed_request::ParsedHttpRequest, request::HttpRequest, uri::Uri};
1+
use http_message::models::{HttpRequest, ParsedHttpRequest, Uri};
22

33
fn main() {
44
let parsed =

examples/partial.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
use http_message::{PartialHttpRequest, error::Error, models::request::HttpRequest};
1+
use http_message::{
2+
error::Error,
3+
models::{HttpRequest, PartialHttpRequest},
4+
};
25

36
fn main() {
47
let partial = PartialHttpRequest::from_str("GET https://example.com\nx-key: 123").unwrap();

src/lib.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
pub mod error;
22
pub mod models;
33
pub mod span;
4-
5-
pub use models::partial_request::PartialHttpRequest;

src/main.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use http_message::models::PartialHttpRequest;
2+
13
fn main() {
24
use std::env;
35
use std::fs;
@@ -11,7 +13,7 @@ fn main() {
1113

1214
match fs::read_to_string(&args[1]) {
1315
Ok(contents) => {
14-
let partial = http_message::PartialHttpRequest::from_str(&contents);
16+
let partial = PartialHttpRequest::from_str(&contents);
1517

1618
println!("{partial:#?}");
1719
}

src/models/headers.rs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,6 @@ impl From<&str> for HttpHeader {
5050
}
5151
}
5252

53-
pub trait HttpHeaders {
54-
type Header;
55-
56-
fn headers(&self) -> Vec<Self::Header>;
57-
fn get_header(&self, key: &str) -> Option<Self::Header>;
58-
fn get_header_mut(&mut self, key: &str) -> Option<&mut Self::Header>;
59-
fn set_header(&mut self, key: &str, value: &str);
60-
}
61-
6253
#[cfg(test)]
6354
mod tests {
6455
use super::*;

src/models/mod.rs

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
1-
pub mod body;
2-
pub mod headers;
3-
pub mod parsed_request;
4-
pub mod partial_request;
5-
pub mod request;
6-
pub mod response;
7-
pub mod uri;
8-
pub mod version;
1+
mod body;
2+
mod headers;
3+
mod parsed_request;
4+
mod partial_request;
5+
mod request;
6+
mod response;
7+
mod uri;
8+
mod version;
9+
10+
pub use body::{HttpBody, PossibleHttpBody};
11+
pub use headers::HttpHeader;
12+
pub use parsed_request::ParsedHttpRequest;
13+
pub use partial_request::PartialHttpRequest;
14+
pub use request::{HttpMethod, HttpRequest};
15+
pub use response::{HttpResponse, HttpStatusCode};
16+
pub use uri::Uri;
17+
pub use version::HttpVersion;

src/models/partial_request.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,9 +291,8 @@ fn get_span_extent_from_spans(body_spans: Option<Vec<Range<usize>>>) -> Option<R
291291
#[cfg(test)]
292292
mod tests {
293293
use crate::{
294-
PartialHttpRequest,
295294
error::Error,
296-
models::{request::HttpRequest, uri::Uri},
295+
models::{HttpRequest, PartialHttpRequest, Uri},
297296
};
298297

299298
#[test]

src/models/request.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
use crate::{
22
error::Error,
33
models::{
4-
body::{HttpBody, PossibleHttpBody},
5-
headers::HttpHeader,
6-
parsed_request::ParsedHttpRequest,
7-
partial_request::PartialHttpRequest,
8-
uri::Uri,
9-
version::HttpVersion,
4+
HttpBody, HttpHeader, HttpVersion, ParsedHttpRequest, PartialHttpRequest, PossibleHttpBody,
5+
Uri,
106
},
117
};
128

tests/display_tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use std::fs;
22

3-
use http_message::PartialHttpRequest;
3+
use http_message::models::PartialHttpRequest;
44

55
use pretty_assertions::assert_eq;
66

0 commit comments

Comments
 (0)