summaryrefslogtreecommitdiff
path: root/exes/webhook/src
diff options
context:
space:
mode:
authorMatthieuCoder <matthieu@matthieu-dev.xyz>2023-01-02 19:53:53 +0400
committerMatthieuCoder <matthieu@matthieu-dev.xyz>2023-01-02 19:53:53 +0400
commitf152af136f24f309cd95e645cbc2e06b776a01d7 (patch)
tree32e8c97ec897a23fc317f20a5881cc7c5b24e04e /exes/webhook/src
parent867e7d7a0c80e0c8c6855d3d0c3232b171f53d69 (diff)
add token from config and change the signal handler to SIGTERM
Diffstat (limited to 'exes/webhook/src')
-rw-r--r--exes/webhook/src/config.rs2
-rw-r--r--exes/webhook/src/main.rs11
2 files changed, 10 insertions, 3 deletions
diff --git a/exes/webhook/src/config.rs b/exes/webhook/src/config.rs
index 68f6a5f..e98de13 100644
--- a/exes/webhook/src/config.rs
+++ b/exes/webhook/src/config.rs
@@ -4,7 +4,7 @@ use ed25519_dalek::PublicKey;
use serde::{Deserialize, Deserializer};
fn default_listening_address() -> SocketAddr {
- SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::LOCALHOST, 8080))
+ SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::UNSPECIFIED, 8080))
}
#[derive(Debug, Deserialize, Clone, Copy)]
diff --git a/exes/webhook/src/main.rs b/exes/webhook/src/main.rs
index efd4147..0215e51 100644
--- a/exes/webhook/src/main.rs
+++ b/exes/webhook/src/main.rs
@@ -9,6 +9,7 @@ use crate::{
use hyper::Server;
use leash::{ignite, AnyhowResultFuture, Component};
use shared::{config::Settings, log::info, nats_crate::Client};
+use tokio::sync::oneshot;
#[derive(Clone, Copy)]
struct WebhookServer {}
@@ -17,7 +18,11 @@ impl Component for WebhookServer {
type Config = WebhookConfig;
const SERVICE_NAME: &'static str = "webhook";
- fn start(&self, settings: Settings<Self::Config>) -> AnyhowResultFuture<()> {
+ fn start(
+ &self,
+ settings: Settings<Self::Config>,
+ stop: oneshot::Receiver<()>,
+ ) -> AnyhowResultFuture<()> {
Box::pin(async move {
info!("Starting server on {}", settings.server.listening_adress);
@@ -33,7 +38,9 @@ impl Component for WebhookServer {
let server = Server::bind(&bind).serve(make_service);
- server.await?;
+ server.with_graceful_shutdown(async {
+ stop.await.expect("should not fail");
+ }).await?;
Ok(())
})