mirror of https://github.com/LemmyNet/lemmy.git
Simplify features
parent
5bb2e4fbfd
commit
e186edc7ca
|
@ -23,20 +23,6 @@ workspace = true
|
|||
|
||||
[features]
|
||||
default = [
|
||||
"error",
|
||||
"request",
|
||||
"response",
|
||||
"settings",
|
||||
"misc",
|
||||
"rate-limit",
|
||||
"apub",
|
||||
"cache-header",
|
||||
"email",
|
||||
]
|
||||
full = ["default", "ts-rs"]
|
||||
ts-rs = ["dep:ts-rs"]
|
||||
error-type = ["dep:serde", "dep:strum"]
|
||||
error = [
|
||||
"error-type",
|
||||
"dep:serde_json",
|
||||
"dep:anyhow",
|
||||
|
@ -44,11 +30,9 @@ error = [
|
|||
"dep:diesel",
|
||||
"dep:http",
|
||||
"dep:actix-web",
|
||||
]
|
||||
request = ["dep:reqwest-middleware", "dep:tracing", "dep:strum"]
|
||||
response = ["error", "dep:actix-web"]
|
||||
settings = [
|
||||
"error",
|
||||
"dep:reqwest-middleware",
|
||||
"dep:tracing",
|
||||
"dep:actix-web",
|
||||
"dep:deser-hjson",
|
||||
"dep:regex",
|
||||
"dep:urlencoding",
|
||||
|
@ -56,34 +40,20 @@ settings = [
|
|||
"dep:url",
|
||||
"dep:once_cell",
|
||||
"dep:smart-default",
|
||||
]
|
||||
rate-limit = [
|
||||
"error",
|
||||
"dep:enum-map",
|
||||
"dep:tracing",
|
||||
"dep:actix-web",
|
||||
"dep:futures",
|
||||
"dep:tokio",
|
||||
"dep:once_cell",
|
||||
]
|
||||
apub = ["dep:openssl"]
|
||||
cache-header = ["dep:actix-web"]
|
||||
email = [
|
||||
"error",
|
||||
"settings",
|
||||
"dep:openssl",
|
||||
"dep:html2text",
|
||||
"dep:lettre",
|
||||
"dep:uuid",
|
||||
"dep:rosetta-i18n",
|
||||
]
|
||||
misc = [
|
||||
"settings",
|
||||
"dep:itertools",
|
||||
"dep:markdown-it",
|
||||
"dep:tokio",
|
||||
"dep:futures",
|
||||
"dep:tracing",
|
||||
|
||||
]
|
||||
full = ["default", "dep:ts-rs"]
|
||||
error-type = ["dep:serde", "dep:strum"]
|
||||
|
||||
[dependencies]
|
||||
regex = { workspace = true, optional = true }
|
||||
|
|
|
@ -2,7 +2,7 @@ use cfg_if::cfg_if;
|
|||
use serde::{Deserialize, Serialize};
|
||||
use std::fmt::Debug;
|
||||
use strum_macros::{Display, EnumIter};
|
||||
#[cfg(feature = "ts-rs")]
|
||||
#[cfg(feature = "full")]
|
||||
use ts_rs::TS;
|
||||
|
||||
#[derive(Display, Debug, Serialize, Deserialize, Clone, PartialEq, Eq, EnumIter, Hash)]
|
||||
|
@ -168,7 +168,7 @@ pub enum LemmyErrorType {
|
|||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(feature = "error")] {
|
||||
if #[cfg(feature = "default")] {
|
||||
|
||||
use tracing_error::SpanTrace;
|
||||
use std::fmt;
|
||||
|
|
|
@ -1,22 +1,27 @@
|
|||
#[cfg(feature = "apub")]
|
||||
use cfg_if::cfg_if;
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(feature = "default")] {
|
||||
pub mod apub;
|
||||
#[cfg(feature = "cache-header")]
|
||||
pub mod cache_header;
|
||||
#[cfg(feature = "email")]
|
||||
pub mod email;
|
||||
#[cfg(feature = "error-type")]
|
||||
pub mod error;
|
||||
#[cfg(feature = "rate-limit")]
|
||||
pub mod rate_limit;
|
||||
#[cfg(feature = "request")]
|
||||
pub mod request;
|
||||
#[cfg(feature = "response")]
|
||||
pub mod response;
|
||||
#[cfg(feature = "settings")]
|
||||
pub mod settings;
|
||||
#[cfg(feature = "misc")]
|
||||
pub mod utils;
|
||||
pub mod version;
|
||||
} else {
|
||||
mod error;
|
||||
}
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(feature = "error-type")] {
|
||||
pub use error::LemmyErrorType;
|
||||
}
|
||||
}
|
||||
|
||||
use std::time::Duration;
|
||||
|
||||
|
@ -36,7 +41,7 @@ macro_rules! location_info {
|
|||
};
|
||||
}
|
||||
|
||||
#[cfg(feature = "misc")]
|
||||
#[cfg(feature = "default")]
|
||||
/// tokio::spawn, but accepts a future that may fail and also
|
||||
/// * logs errors
|
||||
/// * attaches the spawned task to the tracing span of the caller for better logging
|
||||
|
|
Loading…
Reference in New Issue