mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-06 21:33:14 +00:00
2e14b32ccd
* chore: Add copyright and license headers This commit adds the Apache 2.0 license and a copyright notice to the header of all source files. This ensures that the licensing and copyright information is clearly stated within the codebase. * cargo fmt * fix * fmt * fix clippy
54 lines
1.5 KiB
Rust
54 lines
1.5 KiB
Rust
// Copyright 2024 RustFS Team
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
use serde::{Deserialize, Serialize};
|
|
use std::collections::HashMap;
|
|
|
|
/// Webhook sink configuration
|
|
#[derive(Debug, Deserialize, Serialize, Clone)]
|
|
pub struct WebhookSink {
|
|
pub endpoint: String,
|
|
pub auth_token: String,
|
|
pub headers: Option<HashMap<String, String>>,
|
|
#[serde(default = "default_max_retries")]
|
|
pub max_retries: Option<usize>,
|
|
#[serde(default = "default_retry_delay_ms")]
|
|
pub retry_delay_ms: Option<u64>,
|
|
}
|
|
|
|
impl WebhookSink {
|
|
pub fn new() -> Self {
|
|
Self {
|
|
endpoint: "".to_string(),
|
|
auth_token: "".to_string(),
|
|
headers: Some(HashMap::new()),
|
|
max_retries: default_max_retries(),
|
|
retry_delay_ms: default_retry_delay_ms(),
|
|
}
|
|
}
|
|
}
|
|
|
|
impl Default for WebhookSink {
|
|
fn default() -> Self {
|
|
Self::new()
|
|
}
|
|
}
|
|
|
|
fn default_max_retries() -> Option<usize> {
|
|
Some(3)
|
|
}
|
|
fn default_retry_delay_ms() -> Option<u64> {
|
|
Some(100)
|
|
}
|