refactor: Use mut self
-consuming builder functions
Writing the functions this way makes it slightly nicer to chain them without having to assign the request to an intermediate variable.
This commit is contained in:
parent
c6c1746428
commit
718d945753
1 changed files with 4 additions and 5 deletions
|
@ -78,28 +78,27 @@ impl <'a> Request<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Add a header to a request.
|
/// Add a header to a request.
|
||||||
pub fn header(&mut self, k: &str, v: &str) -> CurlResult<&mut Self> {
|
pub fn header(mut self, k: &str, v: &str) -> CurlResult<Self> {
|
||||||
self.headers.append(&format!("{}: {}", k, v))?;
|
self.headers.append(&format!("{}: {}", k, v))?;
|
||||||
Ok(self)
|
Ok(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Set the User-Agent for this request.
|
/// Set the User-Agent for this request.
|
||||||
pub fn user_agent(&mut self, agent: &str) -> CurlResult<&mut Self> {
|
pub fn user_agent<'b: 'a>(mut self, agent: &str) -> CurlResult<Self> {
|
||||||
self.handle.useragent(agent)?;
|
self.handle.useragent(agent)?;
|
||||||
Ok(self)
|
Ok(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Add a byte-array body to a request using the specified
|
/// Add a byte-array body to a request using the specified
|
||||||
/// Content-Type.
|
/// Content-Type.
|
||||||
pub fn body(&'a mut self, content_type: &'a str, data: &'a [u8]) -> &mut Self {
|
pub fn body(mut self, content_type: &'a str, data: &'a [u8]) -> Self {
|
||||||
self.body = Body::Bytes { data, content_type };
|
self.body = Body::Bytes { data, content_type };
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Add a JSON-encoded body from a serializable type.
|
/// Add a JSON-encoded body from a serializable type.
|
||||||
#[cfg(feature = "json")]
|
#[cfg(feature = "json")]
|
||||||
pub fn json<T: Serialize>(&'a mut self, body: &T)
|
pub fn json<T: Serialize>(mut self, body: &T) -> Result<Self, serde_json::Error> {
|
||||||
-> Result<&mut Self, serde_json::Error> {
|
|
||||||
let json = serde_json::to_vec(body)?;
|
let json = serde_json::to_vec(body)?;
|
||||||
self.body = Body::Json(json);
|
self.body = Body::Json(json);
|
||||||
Ok(self)
|
Ok(self)
|
||||||
|
|
Loading…
Reference in a new issue