Skip to content

Commit

Permalink
accept owned strings in TestRequest::param (#2172)
Browse files Browse the repository at this point in the history
* accept owned strings in TestRequest::param

* bump actix-router to 0.4.0

* update changelog

Co-authored-by: Rob Ede <robjtede@icloud.com>
  • Loading branch information
ibraheemdev and robjtede committed Sep 8, 2021
1 parent 1383c7d commit 8dd3061
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 5 deletions.
2 changes: 2 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@
### Changed
* Compress middleware will return 406 Not Acceptable when no content encoding is acceptable to the client. [#2344]
* Move `BaseHttpResponse` to `dev::Response`. [#2379]
* Enable `TestRequest::param` to accept more than just static strings. [#2172]
* Minimum supported Rust version (MSRV) is now 1.51.

### Fixed
* Fix quality parse error in Accept-Encoding header. [#2344]
* Re-export correct type at `web::HttpResponse`. [#2379]

[#2172]: https://github.com/actix/actix-web/pull/2172
[#2325]: https://github.com/actix/actix-web/pull/2325
[#2344]: https://github.com/actix/actix-web/pull/2344
[#2379]: https://github.com/actix/actix-web/pull/2379
Expand Down
22 changes: 17 additions & 5 deletions src/test.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//! Various helpers for Actix applications to use during testing.

use std::{net::SocketAddr, rc::Rc};
use std::{borrow::Cow, net::SocketAddr, rc::Rc};

pub use actix_http::test::TestBuffer;
use actix_http::{
Expand Down Expand Up @@ -470,19 +470,31 @@ impl TestRequest {
self
}

/// Set request path pattern parameter
pub fn param(mut self, name: &'static str, value: &'static str) -> Self {
/// Set request path pattern parameter.
///
/// # Examples
/// ```
/// use actix_web::test::TestRequest;
///
/// let req = TestRequest::default().param("foo", "bar");
/// let req = TestRequest::default().param("foo".to_owned(), "bar".to_owned());
/// ```
pub fn param(
mut self,
name: impl Into<Cow<'static, str>>,
value: impl Into<Cow<'static, str>>,
) -> Self {
self.path.add_static(name, value);
self
}

/// Set peer addr
/// Set peer addr.
pub fn peer_addr(mut self, addr: SocketAddr) -> Self {
self.peer_addr = Some(addr);
self
}

/// Set request payload
/// Set request payload.
pub fn set_payload<B: Into<Bytes>>(mut self, data: B) -> Self {
self.req.set_payload(data);
self
Expand Down

0 comments on commit 8dd3061

Please sign in to comment.