@@ -29,6 +29,7 @@ use http::{header::AUTHORIZATION, HeaderMap, HeaderValue};
29
29
use humantime_serde:: re:: humantime;
30
30
use reqwest:: ClientBuilder ;
31
31
use tracing:: { error, trace, warn} ;
32
+ use url:: Url ;
32
33
33
34
use super :: ALERTS ;
34
35
@@ -255,9 +256,9 @@ fn default_client_builder() -> ClientBuilder {
255
256
ClientBuilder :: new ( )
256
257
}
257
258
258
- #[ derive( Default , Debug , Clone , PartialEq , Eq , serde:: Serialize , serde:: Deserialize ) ]
259
+ #[ derive( Debug , Clone , PartialEq , Eq , serde:: Serialize , serde:: Deserialize ) ]
259
260
pub struct SlackWebHook {
260
- endpoint : String ,
261
+ endpoint : Url ,
261
262
}
262
263
263
264
#[ async_trait]
@@ -279,7 +280,7 @@ impl CallableTarget for SlackWebHook {
279
280
}
280
281
} ;
281
282
282
- if let Err ( e) = client. post ( & self . endpoint ) . json ( & alert) . send ( ) . await {
283
+ if let Err ( e) = client. post ( self . endpoint . clone ( ) ) . json ( & alert) . send ( ) . await {
283
284
error ! ( "Couldn't make call to webhook, error: {}" , e)
284
285
}
285
286
}
@@ -288,7 +289,7 @@ impl CallableTarget for SlackWebHook {
288
289
#[ derive( Debug , Clone , PartialEq , Eq , serde:: Serialize , serde:: Deserialize ) ]
289
290
#[ serde( rename_all = "camelCase" ) ]
290
291
pub struct OtherWebHook {
291
- endpoint : String ,
292
+ endpoint : Url ,
292
293
#[ serde( default ) ]
293
294
headers : HashMap < String , String > ,
294
295
#[ serde( default ) ]
@@ -314,7 +315,7 @@ impl CallableTarget for OtherWebHook {
314
315
} ;
315
316
316
317
let request = client
317
- . post ( & self . endpoint )
318
+ . post ( self . endpoint . clone ( ) )
318
319
. headers ( ( & self . headers ) . try_into ( ) . expect ( "valid_headers" ) ) ;
319
320
320
321
if let Err ( e) = request. body ( alert) . send ( ) . await {
@@ -326,7 +327,7 @@ impl CallableTarget for OtherWebHook {
326
327
#[ derive( Debug , Clone , PartialEq , Eq , serde:: Serialize , serde:: Deserialize ) ]
327
328
#[ serde( rename_all = "camelCase" ) ]
328
329
pub struct AlertManager {
329
- endpoint : String ,
330
+ endpoint : Url ,
330
331
#[ serde( default ) ]
331
332
skip_tls_check : bool ,
332
333
#[ serde( flatten) ]
@@ -404,7 +405,7 @@ impl CallableTarget for AlertManager {
404
405
}
405
406
} ;
406
407
407
- if let Err ( e) = client. post ( & self . endpoint ) . json ( & alerts) . send ( ) . await {
408
+ if let Err ( e) = client. post ( self . endpoint . clone ( ) ) . json ( & alerts) . send ( ) . await {
408
409
error ! ( "Couldn't make call to alertmanager, error: {}" , e)
409
410
}
410
411
}
0 commit comments