|
1 | 1 | use http_body_util::Full;
|
2 |
| -use hyper::body::Bytes; |
3 |
| -use hyper::body::Incoming; |
4 |
| -use hyper::server::conn::http1::Builder; |
5 |
| -use hyper::service::service_fn; |
6 |
| -use hyper::{Request, Response as HyperResponse}; |
| 2 | +use hyper::{ |
| 3 | + body::{Bytes, Incoming}, |
| 4 | + server::conn::http1::Builder, |
| 5 | + service::service_fn, |
| 6 | + Request, Response as HyperResponse, |
| 7 | +}; |
7 | 8 | use hyper_util::rt::TokioIo;
|
8 |
| -use std::net::SocketAddr; |
9 |
| -use std::sync::{Arc, RwLock}; |
10 |
| -use std::thread; |
11 |
| -use tokio::net::TcpListener; |
12 |
| -use tokio::runtime; |
13 |
| -use tokio::task::spawn; |
| 9 | +use std::{ |
| 10 | + future::Future, |
| 11 | + net::SocketAddr, |
| 12 | + sync::{Arc, RwLock}, |
| 13 | + thread, |
| 14 | +}; |
| 15 | +use tokio::{net::TcpListener, runtime, task::spawn}; |
14 | 16 |
|
15 |
| -use super::error::MockError; |
16 |
| -use super::mock::Mock; |
17 |
| -use super::state::State; |
| 17 | +use super::{error::MockError, mock::Mock, state::State}; |
18 | 18 |
|
19 | 19 | pub struct Server {
|
20 | 20 | address: SocketAddr,
|
21 | 21 | state: Arc<RwLock<State>>,
|
22 | 22 | }
|
23 | 23 |
|
24 | 24 | impl Server {
|
| 25 | + /// Beginning in mockito 1.3.1, calling [`Server::new`] was no longer permitted from inside a |
| 26 | + /// tokio runtime. We use a fake-async server here just to satisfy the interface. |
| 27 | + pub async fn new_async() -> Server { |
| 28 | + Self::new() |
| 29 | + } |
| 30 | + |
25 | 31 | pub fn new() -> Server {
|
26 | 32 | let address = SocketAddr::from(([127, 0, 0, 1], 5001));
|
27 | 33 | let state = Arc::new(RwLock::new(State::new()));
|
|
0 commit comments