1
0
mirror of https://github.com/actix/actix-extras.git synced 2025-06-25 09:59:21 +02:00

refactor TransferEncoding; allow to use client api with threaded tokio runtime

This commit is contained in:
Nikolay Kim
2018-05-29 16:32:39 -07:00
parent 844be8d9dd
commit a64205e502
18 changed files with 344 additions and 290 deletions

View File

@ -343,7 +343,10 @@ fn test_client_streaming_explicit() {
let body = once(Ok(Bytes::from_static(STR.as_ref())));
let request = srv.get().body(Body::Streaming(Box::new(body))).unwrap();
let request = srv
.get()
.body(client::ClientBody::Streaming(Box::new(body)))
.unwrap();
let response = srv.execute(request.send()).unwrap();
assert!(response.status().is_success());

View File

@ -32,7 +32,7 @@ use tokio::executor::current_thread;
use tokio::runtime::current_thread::Runtime;
use tokio_tcp::TcpStream;
use actix::System;
use actix::{msgs::SystemExit, Arbiter, System};
use actix_web::*;
const STR: &str = "Hello World Hello World Hello World Hello World Hello World \
@ -74,12 +74,11 @@ fn test_start() {
let srv = srv.bind("127.0.0.1:0").unwrap();
let addr = srv.addrs()[0];
let srv_addr = srv.start();
let _ = tx.send((addr, srv_addr));
let _ = tx.send((addr, srv_addr, Arbiter::system()));
});
});
let (addr, srv_addr) = rx.recv().unwrap();
let (addr, srv_addr, sys) = rx.recv().unwrap();
let _sys = System::new("test-server");
let mut rt = Runtime::new().unwrap();
{
let req = client::ClientRequest::get(format!("http://{}/", addr).as_str())
@ -102,7 +101,7 @@ fn test_start() {
// resume
let _ = srv_addr.send(server::ResumeServer).wait();
thread::sleep(time::Duration::from_millis(400));
thread::sleep(time::Duration::from_millis(200));
{
let req = client::ClientRequest::get(format!("http://{}/", addr).as_str())
.finish()
@ -110,6 +109,8 @@ fn test_start() {
let response = rt.block_on(req.send()).unwrap();
assert!(response.status().is_success());
}
let _ = sys.send(SystemExit(0)).wait();
}
#[test]
@ -129,12 +130,11 @@ fn test_shutdown() {
let srv = srv.bind("127.0.0.1:0").unwrap();
let addr = srv.addrs()[0];
let srv_addr = srv.shutdown_timeout(1).start();
let _ = tx.send((addr, srv_addr));
let _ = tx.send((addr, srv_addr, Arbiter::system()));
});
});
let (addr, srv_addr) = rx.recv().unwrap();
let (addr, srv_addr, sys) = rx.recv().unwrap();
let _sys = System::new("test-server");
let mut rt = Runtime::new().unwrap();
{
let req = client::ClientRequest::get(format!("http://{}/", addr).as_str())
@ -147,6 +147,8 @@ fn test_shutdown() {
thread::sleep(time::Duration::from_millis(1000));
assert!(net::TcpStream::connect(addr).is_err());
let _ = sys.send(SystemExit(0)).wait();
}
#[test]