From cc8420377e93c0a82d3b1b3f5865b75a67789cc4 Mon Sep 17 00:00:00 2001 From: Nikolay Kim Date: Tue, 16 Apr 2019 15:43:55 -0700 Subject: [PATCH] pass request ownership to closure instead of ref --- awc/CHANGES.md | 7 +++++++ awc/src/request.rs | 14 ++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/awc/CHANGES.md b/awc/CHANGES.md index fa85ef3bb..a4f43d292 100644 --- a/awc/CHANGES.md +++ b/awc/CHANGES.md @@ -1,5 +1,12 @@ # Changes +## [0.1.1] - 2019-04-xx + +### Changed + +* `ClientRequest::if_true()` and `ClientRequest::if_some()` use instance instead of ref + + ## [0.1.0] - 2019-04-16 * No changes diff --git a/awc/src/request.rs b/awc/src/request.rs index c97e08f81..d6716cdcf 100644 --- a/awc/src/request.rs +++ b/awc/src/request.rs @@ -333,24 +333,26 @@ impl ClientRequest { /// value is `true`. pub fn if_true(mut self, value: bool, f: F) -> Self where - F: FnOnce(&mut ClientRequest), + F: FnOnce(ClientRequest) -> ClientRequest, { if value { - f(&mut self); + f(self) + } else { + self } - self } /// This method calls provided closure with builder reference if /// value is `Some`. pub fn if_some(mut self, value: Option, f: F) -> Self where - F: FnOnce(T, &mut ClientRequest), + F: FnOnce(T, ClientRequest) -> ClientRequest, { if let Some(val) = value { - f(val, &mut self); + f(val, self) + } else { + self } - self } /// Complete request construction and send body.