use ::actix_web::*;
use ::hex;
use ::hmac::{Hmac, Mac};
-use ::log::warn;
+use ::log::{warn, debug};
use ::sha1::Sha1;
use crate::settings::Settings;
Ok(secret_bytes) => secret_bytes,
Err(_) => panic!("Invalid secret. This cannot happen."),
};
+ let hmac = generate_signature_sha1(&secret_bytes, body);
+ debug!("Our sha1: {}", hex::encode(hmac.result().code().as_slice()));
+
let hmac = generate_signature_sha1(&secret_bytes, body);
match hmac.verify(&signature_bytes) {
Ok(()) => Ok(()),
fn main() {
let sys = System::new("webhook-server");
- let _ = SimpleLogger::init(LevelFilter::Info, Config::default());
+ let _ = SimpleLogger::init(LevelFilter::Debug, Config::default());
let settings = Settings::new();
// Create actix actors and path the reference of the task_actor to the queue_actor
use ::actix_web::*;
use ::serde::Deserialize;
use ::serde_json;
-use ::log::{info, warn};
+use ::log::{info, warn, debug};
use ::std::str;
use ::std::collections::HashMap;
info!("");
info!("Incoming webhook for \"{}\":", webhook_name);
- //debug!("Got payload: {}", parsed_payload);
+ debug!("Got payload: {}", parsed_payload);
// Create a new task with the checked parameters and webhook name
let new_task = get_task_from_request(&data.settings, webhook_name, payload.parameters)?;