1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use std::panic;
mod pagerduty;

pub fn register_handler(pagerduty_token: String, pagerduty_source: String) {
    let def_panic_handler = panic::take_hook();

    panic::set_hook(Box::new(move |x| {
        let event = pagerduty::TriggerEvent::new(
            format!("{} {:?}", x, x),
            pagerduty_source.clone(),
            pagerduty_token.clone(),
        );
        if event.send().is_err() {
            eprintln!("Failed to send PagerDuty event");
        } else {
            eprintln!("Created PagerDuty event");
        }
        def_panic_handler(x);
    }));
}