rust_integration_services/http/
mod.rs1#[cfg(feature = "http")]
2pub mod http_request;
3#[cfg(feature = "http")]
4pub mod http_response;
5#[cfg(feature = "http")]
6pub mod http_receiver;
7#[cfg(feature = "http")]
8pub mod http_sender;
9
10#[cfg(feature = "http")]
11#[cfg(test)]
12mod test {
13 use crate::http::{http_receiver::HttpReceiver, http_request::HttpRequest, http_response::HttpResponse, http_sender::HttpSender};
14 use tokio::time::Duration;
15
16 #[tokio::test(start_paused = true)]
17 async fn http_receiver_sender() {
18 tokio::spawn(async move {
19 let result = HttpReceiver::new("127.0.0.1:8080")
20 .route("GET", "/", |_uuid, _request| async {
21 HttpResponse::ok().body_string("Text")
22 })
23 .receive()
24 .await;
25 assert!(result.is_ok());
26 });
27
28 tokio::time::advance(Duration::from_millis(100)).await;
29 let request = HttpRequest::get();
30 let response = HttpSender::new("http://127.0.0.1:8080").send(request).await.unwrap();
31 assert_eq!(response.status_code, 200);
32 assert_eq!(response.body_to_string(), "Text");
33 }
34}