event rcv
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@ -327,6 +327,7 @@ version = "0.1.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"axum",
|
"axum",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
|
"serde",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tower",
|
"tower",
|
||||||
]
|
]
|
||||||
|
@ -10,3 +10,4 @@ axum = "0.7.4"
|
|||||||
reqwest = { version = "0.11.23", features = [] }
|
reqwest = { version = "0.11.23", features = [] }
|
||||||
tokio = { version = "1.35.1", features = ["full"] }
|
tokio = { version = "1.35.1", features = ["full"] }
|
||||||
tower = "0.4.13"
|
tower = "0.4.13"
|
||||||
|
serde = { version = "1.0.195", features = ["derive"] }
|
||||||
|
16
src/main.rs
16
src/main.rs
@ -1,10 +1,16 @@
|
|||||||
use axum::{routing::get, Router};
|
use axum::{routing::{get, post}, Router, Json};
|
||||||
use axum::http::StatusCode;
|
use axum::http::StatusCode;
|
||||||
|
use serde::Deserialize;
|
||||||
|
|
||||||
async fn event_rcv_handle() -> Result<String, (StatusCode, String)> {
|
#[derive(Deserialize)]
|
||||||
tokio::spawn(async {
|
struct EventRecv {
|
||||||
|
content: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
async fn event_rcv_handle(Json(form_data): Json<EventRecv>) -> Result<String, (StatusCode, String)> {
|
||||||
|
tokio::spawn(async move {
|
||||||
println!("收到告警,向飞书推送消息");
|
println!("收到告警,向飞书推送消息");
|
||||||
reqwest::get("https://www.feishu.cn/flow/api/trigger-webhook/d96aa14944ed0595d831e9d68834b47b?content=收到告警信息").await
|
reqwest::get(format!("https://www.feishu.cn/flow/api/trigger-webhook/d96aa14944ed0595d831e9d68834b47b?content={}", &form_data.content)).await
|
||||||
});
|
});
|
||||||
Ok(String::from("success"))
|
Ok(String::from("success"))
|
||||||
}
|
}
|
||||||
@ -14,7 +20,7 @@ async fn main() {
|
|||||||
// build our application with a single route
|
// build our application with a single route
|
||||||
let app = Router::new()
|
let app = Router::new()
|
||||||
.route("/", get(|| async { "Hello, World!" }))
|
.route("/", get(|| async { "Hello, World!" }))
|
||||||
.route("/eventRcv", get(event_rcv_handle));
|
.route("/eventRcv", post(event_rcv_handle));
|
||||||
|
|
||||||
// run our app with hyper, listening globally on port 3000
|
// run our app with hyper, listening globally on port 3000
|
||||||
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
||||||
|
Reference in New Issue
Block a user