#![doc = document_features::document_features!()]
#![no_std]
#![cfg_attr(feature = "_nightly_docs", feature(doc_cfg))]
#![cfg_attr(
feature = "_nontrivial_option_processing",
feature(impl_trait_in_assoc_type)
)]
use coap_message::{MinimalWritableMessage, MutableWritableMessage, ReadableMessage};
mod embedded_io;
pub mod helpers;
pub mod wkc;
mod wkc_implementation;
#[cfg(feature = "leaky_names")]
pub use wkc_implementation::WellKnownCore;
use coap_message_utils::Error;
mod forking;
mod forking_helpers;
pub use forking::{
ForkingHandler, ForkingRequestData, ForkingTreeHandler, HandlerBuilder,
ReportingHandlerBuilder, new_dispatcher,
};
use coap_handler::Handler;
use core::convert::Infallible;
pub struct NeverFound {}
impl Handler for NeverFound {
type RequestData = Infallible;
type ExtractRequestError = Error;
type BuildResponseError<M: MinimalWritableMessage> = Infallible;
fn extract_request_data<M: ReadableMessage>(
&mut self,
_request: &M,
) -> Result<Self::RequestData, Self::ExtractRequestError> {
Err(Error::not_found())
}
fn estimate_length(&mut self, _request: &Self::RequestData) -> usize {
0
}
fn build_response<M: MutableWritableMessage>(
&mut self,
_response: &mut M,
request: Self::RequestData,
) -> Result<(), Infallible> {
match request {}
}
}
mod simple_rendered;
pub use simple_rendered::{
SimpleRenderable, SimpleRenderableData, SimpleRendered, TypedStaticRenderable,
};
mod typed_resource;
pub use typed_resource::{
DeleteRenderable, Empty, FetchRenderable, GetRenderable, IPatchRenderable, PostRenderable,
PutRenderable, TypeHandler, TypeRenderable, TypeRequestData, generated::*,
};