Skip to content

Commit 5491d72

Browse files
authored
Merge pull request #5 from jtgeibel/new-body
Add support for changes to `conduit::Body`
2 parents be3fcfc + 8726eb3 commit 5491d72

File tree

2 files changed

+21
-26
lines changed

2 files changed

+21
-26
lines changed

Cargo.toml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
[package]
22

33
name = "conduit-middleware"
4-
version = "0.9.0-alpha.1"
4+
version = "0.9.0-alpha.2"
55
authors = ["[email protected]",
66
"Alex Crichton <[email protected]>"]
77
description = "HTTP Middleware interface using the conduit interface"
88
repository = "https://github.com/conduit-rust/conduit-middleware"
99
license = "MIT"
10+
edition = "2018"
1011

1112
[dependencies]
12-
conduit = "0.9.0-alpha.1"
13+
conduit = "0.9.0-alpha.2"
14+
15+
[dev-dependencies]
16+
conduit-test = "0.9.0-alpha.2"

src/lib.rs

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
#![warn(rust_2018_idioms)]
2-
extern crate conduit;
3-
42
use conduit::{BoxError, Handler, RequestExt};
53

64
pub type BeforeResult = Result<(), BoxError>;
@@ -87,16 +85,18 @@ fn run_afters(
8785

8886
#[cfg(test)]
8987
mod tests {
90-
use {AfterResult, AroundMiddleware, BeforeResult, Middleware, MiddlewareBuilder};
88+
use super::{AfterResult, AroundMiddleware, BeforeResult, Middleware, MiddlewareBuilder};
9189

9290
use std::any::Any;
9391
use std::io;
9492
use std::io::prelude::*;
9593
use std::net::SocketAddr;
9694

95+
use conduit_test::ResponseExt;
96+
9797
use conduit::{
98-
box_error, static_to_body, vec_to_body, Body, Extensions, Handler, HeaderMap, Host, Method,
99-
RequestExt, Response, Scheme, StatusCode, TypeMap, Version,
98+
box_error, Body, Extensions, Handler, HeaderMap, Host, Method, RequestExt, Response,
99+
Scheme, StatusCode, TypeMap, Version,
100100
};
101101

102102
struct RequestSentinel {
@@ -174,7 +174,7 @@ mod tests {
174174
let e = e.to_string().into_bytes();
175175
Response::builder()
176176
.status(StatusCode::INTERNAL_SERVER_ERROR)
177-
.body(vec_to_body(e))
177+
.body(Body::from_vec(e))
178178
.map_err(box_error)
179179
})
180180
}
@@ -192,9 +192,7 @@ mod tests {
192192

193193
impl Middleware for NotReached {
194194
fn after(&self, _: &mut dyn RequestExt, _: AfterResult) -> AfterResult {
195-
Response::builder()
196-
.body(static_to_body(b""))
197-
.map_err(box_error)
195+
Response::builder().body(Body::empty()).map_err(box_error)
198196
}
199197
}
200198

@@ -229,7 +227,7 @@ mod tests {
229227

230228
fn response(string: String) -> Response<Body> {
231229
Response::builder()
232-
.body(vec_to_body(string.into_bytes()))
230+
.body(Body::from_vec(string.into_bytes()))
233231
.unwrap()
234232
}
235233

@@ -255,11 +253,9 @@ mod tests {
255253
builder.add(MyMiddleware);
256254

257255
let mut req = RequestSentinel::new(Method::GET, "/");
258-
let mut res = builder.call(&mut req).ok().expect("No response");
256+
let res = builder.call(&mut req).expect("No response");
259257

260-
let mut s = Vec::new();
261-
res.body_mut().write_body(&mut s).unwrap();
262-
assert_eq!(s, b"hello");
258+
assert_eq!(res.into_cow(), "hello".as_bytes());
263259
}
264260

265261
#[test]
@@ -271,7 +267,7 @@ mod tests {
271267
builder.add(NotReached);
272268

273269
let mut req = RequestSentinel::new(Method::GET, "/");
274-
let res = builder.call(&mut req).ok().expect("Error not handled");
270+
let res = builder.call(&mut req).expect("Error not handled");
275271

276272
assert_eq!(res.status(), StatusCode::INTERNAL_SERVER_ERROR);
277273
}
@@ -282,12 +278,9 @@ mod tests {
282278
builder.add(ErrorRecovery);
283279

284280
let mut req = RequestSentinel::new(Method::GET, "/");
285-
let mut res = builder.call(&mut req).ok().expect("Error not handled");
281+
let res = builder.call(&mut req).expect("Error not handled");
286282

287-
assert_eq!(res.status(), StatusCode::INTERNAL_SERVER_ERROR);
288-
let mut s = Vec::new();
289-
res.body_mut().write_body(&mut s).unwrap();
290-
assert_eq!(s, b"Error in handler");
283+
assert_eq!(res.into_cow(), "Error in handler".as_bytes());
291284
}
292285

293286
#[test]
@@ -297,10 +290,8 @@ mod tests {
297290
builder.around(MyAroundMiddleware::new());
298291

299292
let mut req = RequestSentinel::new(Method::GET, "/");
300-
let mut res = builder.call(&mut req).ok().expect("No response");
293+
let res = builder.call(&mut req).expect("No response");
301294

302-
let mut s = Vec::new();
303-
res.body_mut().write_body(&mut s).unwrap();
304-
assert_eq!(s, b"hello hello");
295+
assert_eq!(res.into_cow(), "hello hello".as_bytes());
305296
}
306297
}

0 commit comments

Comments
 (0)