···
-
pub use error::{ClientError, Result};
HeaderName, HeaderValue, Request,
header::{AUTHORIZATION, CONTENT_TYPE, InvalidHeaderValue},
···
-
// Build URI: base_uri + /xrpc/ + NSID
-
let mut uri = format!("{}/xrpc/{}", client.base_uri(), R::NSID);
// Add query parameters for Query methods
if let XrpcMethod::Query = R::METHOD {
let qs = serde_html_form::to_string(&request).map_err(error::EncodeError::from)?;
···
XrpcMethod::Procedure(_) => http::Method::POST,
-
let mut builder = Request::builder().method(method).uri(&uri);
// Add Content-Type for procedures
if let XrpcMethod::Procedure(encoding) = R::METHOD {
···
+
pub use error::{ClientError, Result, TransportError};
HeaderName, HeaderValue, Request,
header::{AUTHORIZATION, CONTENT_TYPE, InvalidHeaderValue},
···
+
// Configure the XRPC endpoint
+
let mut url: reqwest::Url = client
+
.map_err(|e| error::EncodeError::Other(format!("failed to parse base_uri: {e}").into()))?;
+
url.set_path(&format!("/xrpc/{}", R::NSID));
// Add query parameters for Query methods
if let XrpcMethod::Query = R::METHOD {
let qs = serde_html_form::to_string(&request).map_err(error::EncodeError::from)?;
+
url.set_query(Some(&qs))
···
XrpcMethod::Procedure(_) => http::Method::POST,
+
let mut builder = Request::builder().method(method).uri(&url.to_string());
// Add Content-Type for procedures
if let XrpcMethod::Procedure(encoding) = R::METHOD {