Skip to content

Commit 7f2cf53

Browse files
committed
Add support for changes to conduit::Body
1 parent be3fcfc commit 7f2cf53

File tree

2 files changed

+20
-22
lines changed

2 files changed

+20
-22
lines changed

Cargo.toml

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

33
name = "conduit-middleware"
4-
version = "0.9.0-alpha.1"
4+
version = "0.9.0-alpha.2"
55
authors = ["wycats@gmail.com",
66
"Alex Crichton <alex@alexcrichton.com>"]
77
description = "HTTP Middleware interface using the conduit interface"
88
repository = "https://github.com/conduit-rust/conduit-middleware"
99
license = "MIT"
1010

1111
[dependencies]
12-
conduit = "0.9.0-alpha.1"
12+
conduit = { git = "https://github.com/jtgeibel/conduit", rev = "0deff5b" } # "0.9.0-alpha.2"
13+
14+
[dev-dependencies]
15+
conduit-test = { git = "https://github.com/jtgeibel/conduit-test", rev = "b71595f" } # "0.9.0-alpha.2"

src/lib.rs

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -87,16 +87,20 @@ fn run_afters(
8787

8888
#[cfg(test)]
8989
mod tests {
90+
extern crate conduit_test;
91+
9092
use {AfterResult, AroundMiddleware, BeforeResult, Middleware, MiddlewareBuilder};
9193

9294
use std::any::Any;
9395
use std::io;
9496
use std::io::prelude::*;
9597
use std::net::SocketAddr;
9698

99+
use self::conduit_test::ResponseExt;
100+
97101
use conduit::{
98-
box_error, static_to_body, vec_to_body, Body, Extensions, Handler, HeaderMap, Host, Method,
99-
RequestExt, Response, Scheme, StatusCode, TypeMap, Version,
102+
box_error, Body, Extensions, Handler, HeaderMap, Host, Method, RequestExt, Response,
103+
Scheme, StatusCode, TypeMap, Version,
100104
};
101105

102106
struct RequestSentinel {
@@ -174,7 +178,7 @@ mod tests {
174178
let e = e.to_string().into_bytes();
175179
Response::builder()
176180
.status(StatusCode::INTERNAL_SERVER_ERROR)
177-
.body(vec_to_body(e))
181+
.body(Body::from_vec(e))
178182
.map_err(box_error)
179183
})
180184
}
@@ -192,9 +196,7 @@ mod tests {
192196

193197
impl Middleware for NotReached {
194198
fn after(&self, _: &mut dyn RequestExt, _: AfterResult) -> AfterResult {
195-
Response::builder()
196-
.body(static_to_body(b""))
197-
.map_err(box_error)
199+
Response::builder().body(Body::empty()).map_err(box_error)
198200
}
199201
}
200202

@@ -229,7 +231,7 @@ mod tests {
229231

230232
fn response(string: String) -> Response<Body> {
231233
Response::builder()
232-
.body(vec_to_body(string.into_bytes()))
234+
.body(Body::from_vec(string.into_bytes()))
233235
.unwrap()
234236
}
235237

@@ -255,11 +257,9 @@ mod tests {
255257
builder.add(MyMiddleware);
256258

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

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

265265
#[test]
@@ -282,12 +282,9 @@ mod tests {
282282
builder.add(ErrorRecovery);
283283

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

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");
287+
assert_eq!(res.into_cow(), "Error in handler".as_bytes());
291288
}
292289

293290
#[test]
@@ -297,10 +294,8 @@ mod tests {
297294
builder.around(MyAroundMiddleware::new());
298295

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

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

0 commit comments

Comments
 (0)