diff --git a/doc_examples/guide/request_data/path/project-raw_path.snap b/doc_examples/guide/request_data/path/project-raw_path.snap index 259f07074..46d694092 100644 --- a/doc_examples/guide/request_data/path/project-raw_path.snap +++ b/doc_examples/guide/request_data/path/project-raw_path.snap @@ -3,7 +3,7 @@ use pavex::http::StatusCode; use pavex::request::RequestHead; pub fn handler(head: &RequestHead) -> StatusCode { - println!("The raw path is: {}", head.uri.path()); + println!("The raw path is: {}", head.target.path()); StatusCode::OK } ``` \ No newline at end of file diff --git a/doc_examples/guide/request_data/path/project/src/path/routes.rs b/doc_examples/guide/request_data/path/project/src/path/routes.rs index 91c8079ab..72da79f3a 100644 --- a/doc_examples/guide/request_data/path/project/src/path/routes.rs +++ b/doc_examples/guide/request_data/path/project/src/path/routes.rs @@ -2,6 +2,6 @@ use pavex::http::StatusCode; use pavex::request::RequestHead; pub fn handler(head: &RequestHead) -> StatusCode { - println!("The raw path is: {}", head.uri.path()); + println!("The raw path is: {}", head.target.path()); StatusCode::OK } diff --git a/doc_examples/guide/request_data/query/project-raw_query.snap b/doc_examples/guide/request_data/query/project-raw_query.snap index 70a8f96b3..21eaa999c 100644 --- a/doc_examples/guide/request_data/query/project-raw_query.snap +++ b/doc_examples/guide/request_data/query/project-raw_query.snap @@ -3,7 +3,7 @@ use pavex::http::StatusCode; use pavex::request::RequestHead; pub fn handler(head: &RequestHead) -> StatusCode { - if let Some(raw_query /* (1)! */) = head.uri.query() { + if let Some(raw_query /* (1)! */) = head.target.query() { println!("The raw query is `{raw_query}`"); } else { println!("There is no query string"); diff --git a/doc_examples/guide/request_data/query/project/src/query/routes.rs b/doc_examples/guide/request_data/query/project/src/query/routes.rs index d90ca4a1c..aef8a51db 100644 --- a/doc_examples/guide/request_data/query/project/src/query/routes.rs +++ b/doc_examples/guide/request_data/query/project/src/query/routes.rs @@ -2,7 +2,7 @@ use pavex::http::StatusCode; use pavex::request::RequestHead; pub fn handler(head: &RequestHead) -> StatusCode { - if let Some(raw_query /* (1)! */) = head.uri.query() { + if let Some(raw_query /* (1)! */) = head.target.query() { println!("The raw query is `{raw_query}`"); } else { println!("There is no query string"); diff --git a/doc_examples/guide/request_data/request_target/project-target.snap b/doc_examples/guide/request_data/request_target/project-target.snap index 14d6d0f50..8badd8a85 100644 --- a/doc_examples/guide/request_data/request_target/project-target.snap +++ b/doc_examples/guide/request_data/request_target/project-target.snap @@ -3,7 +3,7 @@ use pavex::http::StatusCode; use pavex::request::RequestHead; pub fn handler(head: &RequestHead) -> StatusCode { - println!("The request target is {}", head.uri); + println!("The request target is {}", head.target); // [...] } ``` \ No newline at end of file diff --git a/doc_examples/guide/request_data/request_target/project/src/uri/routes.rs b/doc_examples/guide/request_data/request_target/project/src/uri/routes.rs index f9f42d645..7f1fd7345 100644 --- a/doc_examples/guide/request_data/request_target/project/src/uri/routes.rs +++ b/doc_examples/guide/request_data/request_target/project/src/uri/routes.rs @@ -2,6 +2,6 @@ use pavex::http::StatusCode; use pavex::request::RequestHead; pub fn handler(head: &RequestHead) -> StatusCode { - println!("The request target is {}", head.uri); + println!("The request target is {}", head.target); StatusCode::OK } diff --git a/doc_examples/guide/request_data/wire_data/project-head.snap b/doc_examples/guide/request_data/wire_data/project-head.snap index e6d7e6275..e5b71c8cd 100644 --- a/doc_examples/guide/request_data/wire_data/project-head.snap +++ b/doc_examples/guide/request_data/wire_data/project-head.snap @@ -5,7 +5,7 @@ use pavex::request::RequestHead; pub fn handler(head: &RequestHead) -> StatusCode { println!("The HTTP method is {}", head.method); println!("The HTTP version is {:?}", head.version); - println!("The request target is {}", head.uri); + println!("The request target is {}", head.target); println!("There are {} headers", head.headers.len()); StatusCode::OK } diff --git a/doc_examples/guide/request_data/wire_data/project/src/head/routes.rs b/doc_examples/guide/request_data/wire_data/project/src/head/routes.rs index 670f2680e..acef932a7 100644 --- a/doc_examples/guide/request_data/wire_data/project/src/head/routes.rs +++ b/doc_examples/guide/request_data/wire_data/project/src/head/routes.rs @@ -4,7 +4,7 @@ use pavex::request::RequestHead; pub fn handler(head: &RequestHead) -> StatusCode { println!("The HTTP method is {}", head.method); println!("The HTTP version is {:?}", head.version); - println!("The request target is {}", head.uri); + println!("The request target is {}", head.target); println!("There are {} headers", head.headers.len()); StatusCode::OK } diff --git a/docs/guide/request_data/path/index.md b/docs/guide/request_data/path/index.md index 54228d41c..e3fa53a82 100644 --- a/docs/guide/request_data/path/index.md +++ b/docs/guide/request_data/path/index.md @@ -9,9 +9,9 @@ more details. ## Injection -Inject [`RequestHead`][RequestHead] to access the raw path via its [`uri`][RequestHead::uri] field: +Inject [`RequestHead`][RequestHead] to access the raw path via its [`target`][RequestHead::target] field: --8<-- "doc_examples/guide/request_data/path/project-raw_path.snap" [RequestHead]: ../../../api_reference/pavex/request/struct.RequestHead.html -[RequestHead::uri]: ../../../api_reference/pavex/request/struct.RequestHead.html#structfield.uri \ No newline at end of file +[RequestHead::target]: ../../../api_reference/pavex/request/struct.RequestHead.html#structfield.target \ No newline at end of file diff --git a/docs/guide/request_data/path/route_parameters.md b/docs/guide/request_data/path/route_parameters.md index 4f2856fca..4ad8b57e7 100644 --- a/docs/guide/request_data/path/route_parameters.md +++ b/docs/guide/request_data/path/route_parameters.md @@ -127,7 +127,7 @@ to know more about the underlying mechanism. [^relationship]: [`RouteParams`][RouteParams] is built on top of [`RawRouteParams`][RawRouteParams]. [RequestHead]: ../../../api_reference/pavex/request/struct.RequestHead.html -[RequestHead::uri]: ../../../api_reference/pavex/request/struct.RequestHead.html#structfield.uri +[RequestHead::target]: ../../../api_reference/pavex/request/struct.RequestHead.html#structfield.target [RouteParams]: ../../../api_reference/pavex/request/route/struct.RouteParams.html [RouteParamsMacro]: ../../../api_reference/pavex/request/route/attr.RouteParams.html [serde::Deserialize]: https://docs.rs/serde/latest/serde/trait.Deserialize.html diff --git a/docs/guide/request_data/query/index.md b/docs/guide/request_data/query/index.md index 074728320..c88eb88e4 100644 --- a/docs/guide/request_data/query/index.md +++ b/docs/guide/request_data/query/index.md @@ -9,11 +9,11 @@ out of the raw query. ## Injection -Inject [`RequestHead`][RequestHead] to access the raw query via its [`uri`][RequestHead::uri] field: +Inject [`RequestHead`][RequestHead] to access the raw query via its [`uri`][RequestHead::target] field: --8<-- "doc_examples/guide/request_data/query/project-raw_query.snap" 1. The query string is an optional component of the request target. It may not be there! [RequestHead]: ../../../api_reference/pavex/request/struct.RequestHead.html -[RequestHead::uri]: ../../../api_reference/pavex/request/struct.RequestHead.html#structfield.uri +[RequestHead::target]: ../../../api_reference/pavex/request/struct.RequestHead.html#structfield.target diff --git a/docs/guide/request_data/request_target.md b/docs/guide/request_data/request_target.md index c20959540..638ae1aff 100644 --- a/docs/guide/request_data/request_target.md +++ b/docs/guide/request_data/request_target.md @@ -20,7 +20,7 @@ e.g. `/foo/bar?baz=qux`. ## Injection -Inject [`RequestHead`][RequestHead] to access the request target via its [`uri`][RequestHead::uri] field: +Inject [`RequestHead`][RequestHead] to access the request target via its [`target`][RequestHead::target] field: --8<-- "doc_examples/guide/request_data/request_target/project-target.snap" @@ -33,8 +33,8 @@ to perform more advanced processing—e.g. parsing query parameters or [route pa [^rfc]: [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-5.3) allows two other formats of request target, authority form (e.g. `example.com:443`) and asterisk form (e.g. `*`). For both alternative formats there is a canonical conversion into a URI (_effective request URI_). -Pavex takes care of the conversion automatically; you can access [`RequestHead::uri`][RequestHead::uri] +Pavex takes care of the conversion automatically; you can access [`RequestHead::target`][RequestHead::target] without having to worry about it. [RequestHead]: ../../api_reference/pavex/request/struct.RequestHead.html -[RequestHead::uri]: ../../api_reference/pavex/request/struct.RequestHead.html#structfield.uri +[RequestHead::target]: ../../api_reference/pavex/request/struct.RequestHead.html#structfield.target diff --git a/docs/guide/request_data/wire_data.md b/docs/guide/request_data/wire_data.md index d5735a071..bb5b06c2f 100644 --- a/docs/guide/request_data/wire_data.md +++ b/docs/guide/request_data/wire_data.md @@ -60,5 +60,5 @@ You can always inject both types if you need to look at the entire request at on [RequestHead::version]: ../../api_reference/pavex/request/struct.RequestHead.html#structfield.version [RequestHead::method]: ../../api_reference/pavex/request/struct.RequestHead.html#structfield.method [RequestHead::headers]: ../../api_reference/pavex/request/struct.RequestHead.html#structfield.headers -[RequestHead::uri]: ../../api_reference/pavex/request/struct.RequestHead.html#structfield.uri +[RequestHead::target]: ../../api_reference/pavex/request/struct.RequestHead.html#structfield.target [RawIncomingBody]: ../../api_reference/pavex/request/body/struct.RawIncomingBody.html diff --git a/examples/realworld/api_server_sdk/src/lib.rs b/examples/realworld/api_server_sdk/src/lib.rs index 2e82fcace..a1efd5568 100644 --- a/examples/realworld/api_server_sdk/src/lib.rs +++ b/examples/realworld/api_server_sdk/src/lib.rs @@ -82,7 +82,7 @@ async fn route_request( #[allow(unused)] let request_body = pavex::request::body::RawIncomingBody::from(request_body); let request_head: pavex::request::RequestHead = request_head.into(); - let matched_route = match server_state.router.at(&request_head.uri.path()) { + let matched_route = match server_state.router.at(&request_head.target.path()) { Ok(m) => m, Err(_) => { let allowed_methods: pavex::router::AllowedMethods = pavex::router::MethodAllowList::from_iter( diff --git a/examples/realworld/conduit_core/src/telemetry.rs b/examples/realworld/conduit_core/src/telemetry.rs index e3a91956f..ff4536953 100644 --- a/examples/realworld/conduit_core/src/telemetry.rs +++ b/examples/realworld/conduit_core/src/telemetry.rs @@ -38,7 +38,7 @@ impl RootSpan { user_agent.original = %user_agent, http.response.status_code = tracing::field::Empty, http.route = %matched_route, - http.target = %request_head.uri.path_and_query().map(|p| p.as_str()).unwrap_or(""), + http.target = %request_head.target.path_and_query().map(|p| p.as_str()).unwrap_or(""), // 👇 fields that we can't fill out _yet_ because we don't have access to connection info // // http.scheme = %$crate::root_span_macro::private::http_scheme(connection_info.scheme()), diff --git a/examples/skeleton/app_server_sdk/src/lib.rs b/examples/skeleton/app_server_sdk/src/lib.rs index e744b03cd..6469c5d83 100644 --- a/examples/skeleton/app_server_sdk/src/lib.rs +++ b/examples/skeleton/app_server_sdk/src/lib.rs @@ -38,7 +38,7 @@ async fn route_request( #[allow(unused)] let request_body = pavex::request::body::RawIncomingBody::from(request_body); let request_head: pavex::request::RequestHead = request_head.into(); - let matched_route = match server_state.router.at(&request_head.uri.path()) { + let matched_route = match server_state.router.at(&request_head.target.path()) { Ok(m) => m, Err(_) => { let allowed_methods: pavex::router::AllowedMethods = pavex::router::MethodAllowList::from_iter( diff --git a/libs/pavex/src/request/body/buffered_body.rs b/libs/pavex/src/request/body/buffered_body.rs index 46c0e7b4d..5764d7df2 100644 --- a/libs/pavex/src/request/body/buffered_body.rs +++ b/libs/pavex/src/request/body/buffered_body.rs @@ -262,7 +262,7 @@ mod tests { fn dummy_request_head() -> RequestHead { RequestHead { method: http::Method::GET, - uri: "/".parse().unwrap(), + target: "/".parse().unwrap(), version: http::Version::HTTP_11, headers: HeaderMap::new(), } @@ -270,7 +270,7 @@ mod tests { #[tokio::test] async fn error_if_body_above_size_limit_without_content_length() { - let body = crate::response::body::body_::Full::new(Bytes::from(vec![0; 1000])); + let body = crate::response::body::raw::Full::new(Bytes::from(vec![0; 1000])); // Smaller than the size of the body. let max_n_bytes = 100; let err = BufferedBody::_extract_with_limit(&dummy_request_head(), body, max_n_bytes) @@ -297,7 +297,7 @@ mod tests { // Smaller than the value declared in the `Content-Length` header, // even though it's bigger than the actual size of the body. let max_n_bytes = 100; - let body = crate::response::body::body_::Full::new(Bytes::from(vec![0; 500])); + let body = crate::response::body::raw::Full::new(Bytes::from(vec![0; 500])); request_head .headers .insert("Content-Length", "1000".parse().unwrap()); diff --git a/libs/pavex/src/request/body/json.rs b/libs/pavex/src/request/body/json.rs index 1f7d2a2bc..6e939b840 100644 --- a/libs/pavex/src/request/body/json.rs +++ b/libs/pavex/src/request/body/json.rs @@ -293,7 +293,7 @@ mod tests { let request_head = crate::request::RequestHead { headers, method: http::Method::GET, - uri: "/".parse().unwrap(), + target: "/".parse().unwrap(), version: http::Version::HTTP_11, }; let body = serde_json::json!({ diff --git a/libs/pavex/src/request/query/query_params.rs b/libs/pavex/src/request/query/query_params.rs index cbb9ed234..84c8b6ccd 100644 --- a/libs/pavex/src/request/query/query_params.rs +++ b/libs/pavex/src/request/query/query_params.rs @@ -180,7 +180,7 @@ impl QueryParams { where T: serde::Deserialize<'request>, { - let query = request_head.uri.query().unwrap_or_default(); + let query = request_head.target.query().unwrap_or_default(); parse(query).map(QueryParams) } } diff --git a/libs/pavex/src/request/request_head.rs b/libs/pavex/src/request/request_head.rs index 32a939cab..7ac1690f8 100644 --- a/libs/pavex/src/request/request_head.rs +++ b/libs/pavex/src/request/request_head.rs @@ -15,7 +15,7 @@ use http::{HeaderMap, Method, Uri, Version}; /// [`Blueprint`]: crate::blueprint::Blueprint pub struct RequestHead { pub method: Method, - pub uri: Uri, + pub target: Uri, pub version: Version, pub headers: HeaderMap, } @@ -24,7 +24,7 @@ impl From for RequestHead { fn from(parts: http::request::Parts) -> Self { Self { method: parts.method, - uri: parts.uri, + target: parts.uri, version: parts.version, headers: parts.headers, } diff --git a/libs/pavexc/src/compiler/codegen.rs b/libs/pavexc/src/compiler/codegen.rs index 1fe65d0c0..ae6edbfbe 100644 --- a/libs/pavexc/src/compiler/codegen.rs +++ b/libs/pavexc/src/compiler/codegen.rs @@ -484,7 +484,7 @@ fn get_request_dispatcher( #[allow(unused)] let request_body = #pavex::request::body::RawIncomingBody::from(request_body); let request_head: #pavex::request::RequestHead = request_head.into(); - let matched_route = match server_state.router.at(&request_head.uri.path()) { + let matched_route = match server_state.router.at(&request_head.target.path()) { Ok(m) => m, Err(_) => { #allowed_methods diff --git a/template/template/{{crate_name}}/src/telemetry.rs b/template/template/{{crate_name}}/src/telemetry.rs index 6867b9876..72dd680ce 100644 --- a/template/template/{{crate_name}}/src/telemetry.rs +++ b/template/template/{{crate_name}}/src/telemetry.rs @@ -51,7 +51,7 @@ impl RootSpan { user_agent.original = %user_agent, http.response.status_code = tracing::field::Empty, http.route = %matched_route, - http.target = %request_head.uri.path_and_query().map(|p| p.as_str()).unwrap_or(""), + http.target = %request_head.target.path_and_query().map(|p| p.as_str()).unwrap_or(""), ); Self(span) }