Skip to main content

pib_service_api_auth/
error.rs

1// SPDX-FileCopyrightText: Politik im Blick developers
2// SPDX-FileCopyrightText: Wolfgang Silbermayr <wolfgang@silbermayr.at>
3//
4// SPDX-License-Identifier: AGPL-3.0-or-later OR EUPL-1.2
5
6use snafu::Snafu;
7
8#[derive(Debug, Snafu)]
9#[snafu(visibility(pub))]
10#[snafu(display("Error performing api authorization"))]
11pub struct Error {
12    source: Box<dyn std::error::Error + Send + Sync>,
13}
14
15impl Error {
16    pub fn from_boxed_source(source: Box<dyn std::error::Error + Send + Sync>) -> Self {
17        Self { source }
18    }
19
20    pub fn from_source<E: std::error::Error + Send + Sync + 'static>(source: E) -> Self {
21        Self::from_boxed_source(Box::new(source))
22    }
23}