mirror of
https://github.com/tokio-rs/axum.git
synced 2024-12-29 15:49:16 +01:00
Fix doc(cfg)s (#765)
* Use automatic doc(cfg) attributes where possible * Add missing feature documentation * Replace redundant cfg attribute with doc(cfg) * Remove non-existent feature from package.metadata.playground.features * Add missing cfg's on rejection types
This commit is contained in:
parent
6bd8b8a232
commit
2b608c4532
9 changed files with 10 additions and 14 deletions
|
@ -90,6 +90,5 @@ features = [
|
|||
"http2",
|
||||
"json",
|
||||
"multipart",
|
||||
"tower",
|
||||
"ws",
|
||||
]
|
||||
|
|
|
@ -52,6 +52,7 @@ use std::sync::Arc;
|
|||
/// # axum::Server::bind(&"".parse().unwrap()).serve(app.into_make_service()).await.unwrap();
|
||||
/// # };
|
||||
/// ```
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "matched-path")))]
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct MatchedPath(pub(crate) Arc<str>);
|
||||
|
||||
|
|
|
@ -9,7 +9,6 @@ pub mod path;
|
|||
pub mod rejection;
|
||||
|
||||
#[cfg(feature = "ws")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "ws")))]
|
||||
pub mod ws;
|
||||
|
||||
mod content_length_limit;
|
||||
|
@ -43,35 +42,28 @@ pub use crate::Json;
|
|||
mod matched_path;
|
||||
|
||||
#[cfg(feature = "matched-path")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "matched-path")))]
|
||||
#[doc(inline)]
|
||||
pub use self::matched_path::MatchedPath;
|
||||
|
||||
#[cfg(feature = "multipart")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "multipart")))]
|
||||
pub mod multipart;
|
||||
|
||||
#[cfg(feature = "multipart")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "multipart")))]
|
||||
#[doc(inline)]
|
||||
pub use self::multipart::Multipart;
|
||||
|
||||
#[cfg(feature = "original-uri")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "original-uri")))]
|
||||
#[doc(inline)]
|
||||
pub use self::request_parts::OriginalUri;
|
||||
|
||||
#[cfg(feature = "ws")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "ws")))]
|
||||
#[doc(inline)]
|
||||
pub use self::ws::WebSocketUpgrade;
|
||||
|
||||
#[cfg(feature = "headers")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "headers")))]
|
||||
mod typed_header;
|
||||
|
||||
#[cfg(feature = "headers")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "headers")))]
|
||||
#[doc(inline)]
|
||||
pub use self::typed_header::TypedHeader;
|
||||
|
||||
|
|
|
@ -43,6 +43,7 @@ use std::{
|
|||
///
|
||||
/// For security reasons it's recommended to combine this with
|
||||
/// [`ContentLengthLimit`](super::ContentLengthLimit) to limit the size of the request payload.
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "multipart")))]
|
||||
#[derive(Debug)]
|
||||
pub struct Multipart {
|
||||
inner: multer::Multipart<'static>,
|
||||
|
|
|
@ -18,9 +18,11 @@ define_rejection! {
|
|||
pub struct InvalidJsonBody(Error);
|
||||
}
|
||||
|
||||
#[cfg(feature = "json")]
|
||||
define_rejection! {
|
||||
#[status = UNSUPPORTED_MEDIA_TYPE]
|
||||
#[body = "Expected request with `Content-Type: application/json`"]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "json")))]
|
||||
/// Rejection type for [`Json`](super::Json) used if the `Content-Type`
|
||||
/// header is missing.
|
||||
pub struct MissingJsonContentType;
|
||||
|
@ -163,17 +165,21 @@ composite_rejection! {
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "matched-path")]
|
||||
define_rejection! {
|
||||
#[status = INTERNAL_SERVER_ERROR]
|
||||
#[body = "No matched path found"]
|
||||
/// Rejection if no matched path could be found.
|
||||
///
|
||||
/// See [`MatchedPath`](super::MatchedPath) for more details.
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "matched-path")))]
|
||||
pub struct MatchedPathMissing;
|
||||
}
|
||||
|
||||
#[cfg(feature = "matched-path")]
|
||||
composite_rejection! {
|
||||
/// Rejection used for [`MatchedPath`](super::MatchedPath).
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "matched-path")))]
|
||||
pub enum MatchedPathRejection {
|
||||
MatchedPathMissing,
|
||||
}
|
||||
|
@ -234,5 +240,4 @@ where
|
|||
}
|
||||
|
||||
#[cfg(feature = "headers")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "headers")))]
|
||||
pub use super::typed_header::{TypedHeaderRejection, TypedHeaderRejectionReason};
|
||||
|
|
|
@ -30,7 +30,6 @@ use std::ops::Deref;
|
|||
/// # axum::Server::bind(&"".parse().unwrap()).serve(app.into_make_service()).await.unwrap();
|
||||
/// # };
|
||||
/// ```
|
||||
#[cfg(feature = "headers")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "headers")))]
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
pub struct TypedHeader<T>(pub T);
|
||||
|
@ -68,7 +67,6 @@ impl<T> Deref for TypedHeader<T> {
|
|||
|
||||
/// Rejection used for [`TypedHeader`](super::TypedHeader).
|
||||
#[cfg(feature = "headers")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "headers")))]
|
||||
#[derive(Debug)]
|
||||
pub struct TypedHeaderRejection {
|
||||
name: &'static http::header::HeaderName,
|
||||
|
|
|
@ -103,6 +103,7 @@ use tokio_tungstenite::{
|
|||
///
|
||||
/// See the [module docs](self) for an example.
|
||||
#[derive(Debug)]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "ws")))]
|
||||
pub struct WebSocketUpgrade {
|
||||
config: WebSocketConfig,
|
||||
/// The chosen protocol sent in the `Sec-WebSocket-Protocol` header of the response.
|
||||
|
|
|
@ -389,7 +389,7 @@
|
|||
#![deny(unreachable_pub, private_in_public)]
|
||||
#![allow(elided_lifetimes_in_paths, clippy::type_complexity)]
|
||||
#![forbid(unsafe_code)]
|
||||
#![cfg_attr(docsrs, feature(doc_cfg))]
|
||||
#![cfg_attr(docsrs, feature(doc_auto_cfg, doc_cfg))]
|
||||
#![cfg_attr(test, allow(clippy::float_cmp))]
|
||||
|
||||
#[macro_use]
|
||||
|
|
|
@ -204,7 +204,6 @@ impl Event {
|
|||
///
|
||||
/// Panics if `data` or `json_data` have already been called.
|
||||
#[cfg(feature = "json")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "json")))]
|
||||
pub fn json_data<T>(mut self, data: T) -> serde_json::Result<Event>
|
||||
where
|
||||
T: serde::Serialize,
|
||||
|
|
Loading…
Reference in a new issue