diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index 8f19b57a..8132c4bb 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl Clone for ApiVersion"],["impl Clone for HealthStatus"],["impl<AppState: Clone> Clone for ServerState<AppState>"],["impl Clone for AppHealth"],["impl Clone for RequestParamValue"],["impl Clone for UrlSegment"],["impl Clone for ServerError"],["impl Clone for RequestError"],["impl Clone for ApiMetadata"],["impl Clone for AppVersion"],["impl Clone for RequestParam"],["impl Clone for RequestParams"],["impl Clone for HealthStatus"],["impl Clone for AppError"],["impl Clone for RouteParseError"],["impl Clone for ApiError"],["impl Clone for RequestParamType"],["impl Clone for Method"]] +"tide_disco":[["impl Clone for RouteParseError"],["impl Clone for OutOfRangeError"],["impl Clone for Method"],["impl Clone for UrlSegment"],["impl Clone for ApiVersion"],["impl Clone for ApiError"],["impl Clone for RequestError"],["impl Clone for AppError"],["impl Clone for AppVersion"],["impl Clone for RequestParamValue"],["impl Clone for StatusCode"],["impl Clone for RequestParamType"],["impl<AppState: Clone> Clone for ServerState<AppState>"],["impl Clone for RequestParams"],["impl Clone for RequestParam"],["impl Clone for ApiMetadata"],["impl Clone for HealthStatus"],["impl Clone for ServerError"],["impl Clone for AppHealth"],["impl Clone for HealthStatus"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.Eq.js b/implementors/core/cmp/trait.Eq.js index 8a3100b8..86c91c91 100644 --- a/implementors/core/cmp/trait.Eq.js +++ b/implementors/core/cmp/trait.Eq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl Eq for Method"],["impl Eq for AppVersion"],["impl Eq for HealthStatus"],["impl Eq for RequestParamValue"],["impl Eq for AppHealth"],["impl Eq for ServerError"],["impl Eq for ApiVersion"],["impl Eq for RequestParamType"]] +"tide_disco":[["impl Eq for AppHealth"],["impl Eq for StatusCode"],["impl Eq for RequestParamType"],["impl Eq for RequestParamValue"],["impl Eq for HealthStatus"],["impl Eq for ApiVersion"],["impl Eq for Method"],["impl Eq for ServerError"],["impl Eq for AppVersion"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js index 4f0b2948..3924857c 100644 --- a/implementors/core/cmp/trait.PartialEq.js +++ b/implementors/core/cmp/trait.PartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl PartialEq<RequestParamValue> for RequestParamValue"],["impl PartialEq<AppHealth> for AppHealth"],["impl PartialEq<HealthStatus> for HealthStatus"],["impl PartialEq<ApiVersion> for ApiVersion"],["impl PartialEq<AppVersion> for AppVersion"],["impl PartialEq<Method> for Method"],["impl PartialEq<RequestParamType> for RequestParamType"],["impl PartialEq<ServerError> for ServerError"]] +"tide_disco":[["impl PartialEq<ServerError> for ServerError"],["impl PartialEq<StatusCode> for StatusCode"],["impl PartialEq<StatusCode> for StatusCode"],["impl PartialEq<Method> for Method"],["impl PartialEq<RequestParamType> for RequestParamType"],["impl PartialEq<AppHealth> for AppHealth"],["impl PartialEq<AppVersion> for AppVersion"],["impl PartialEq<ApiVersion> for ApiVersion"],["impl PartialEq<HealthStatus> for HealthStatus"],["impl PartialEq<RequestParamValue> for RequestParamValue"],["impl PartialEq<StatusCode> for StatusCode"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.AsRef.js b/implementors/core/convert/trait.AsRef.js index 8ab3df5f..8d14dbbf 100644 --- a/implementors/core/convert/trait.AsRef.js +++ b/implementors/core/convert/trait.AsRef.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl AsRef<str> for HealthStatus"],["impl AsRef<str> for DiscoKey"]] +"tide_disco":[["impl AsRef<str> for DiscoKey"],["impl AsRef<str> for HealthStatus"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js index b3a5dae5..7549fe92 100644 --- a/implementors/core/convert/trait.From.js +++ b/implementors/core/convert/trait.From.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl From<RequestError> for ServerError"],["impl<E> From<Error> for SocketError<E>"],["impl<E: Display> From<SocketError<E>> for ServerError"],["impl From<ConfigError> for ServerError"],["impl From<Method> for Method"],["impl<E: Display> From<RouteError<E>> for ServerError"],["impl From<Error> for ServerError"],["impl<E> From<RequestError> for RouteError<E>"],["impl<E> From<Box<ErrorKind, Global>> for SocketError<E>"],["impl<E> From<Error> for SocketError<E>"],["impl<E> From<RequestError> for SocketError<E>"]] +"tide_disco":[["impl<E> From<Box<ErrorKind, Global>> for SocketError<E>"],["impl From<RequestError> for ServerError"],["impl<E> From<Error> for SocketError<E>"],["impl From<StatusCode> for StatusCode"],["impl<E: Display> From<SocketError<E>> for ServerError"],["impl<E: Display> From<RouteError<E>> for ServerError"],["impl From<Error> for ServerError"],["impl From<ConfigError> for ServerError"],["impl From<Method> for Method"],["impl From<StatusCode> for StatusCode"],["impl<E> From<Error> for SocketError<E>"],["impl<E> From<RequestError> for RouteError<E>"],["impl From<StatusCode> for u16"],["impl<E> From<RequestError> for SocketError<E>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.TryFrom.js b/implementors/core/convert/trait.TryFrom.js index 72b1cba5..3fbd0436 100644 --- a/implementors/core/convert/trait.TryFrom.js +++ b/implementors/core/convert/trait.TryFrom.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl TryFrom<&str> for RequestParamType"],["impl TryFrom<&str> for UrlSegment"]] +"tide_disco":[["impl TryFrom<&str> for UrlSegment"],["impl TryFrom<u16> for StatusCode"],["impl TryFrom<&str> for RequestParamType"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/error/trait.Error.js b/implementors/core/error/trait.Error.js index f86260be..3a16d663 100644 --- a/implementors/core/error/trait.Error.js +++ b/implementors/core/error/trait.Error.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl Error for ApiErrorwhere\n Self: Debug + Display,"],["impl Error for RouteParseErrorwhere\n Self: Debug + Display,"],["impl Error for ServerErrorwhere\n Self: Debug + Display,"],["impl Error for RequestErrorwhere\n Self: Debug + Display,"],["impl Error for AppErrorwhere\n Self: Debug + Display,"]] +"tide_disco":[["impl Error for OutOfRangeErrorwhere\n Self: Debug + Display,"],["impl Error for ApiErrorwhere\n Self: Debug + Display,"],["impl Error for ServerErrorwhere\n Self: Debug + Display,"],["impl Error for RequestErrorwhere\n Self: Debug + Display,"],["impl Error for AppErrorwhere\n Self: Debug + Display,"],["impl Error for RouteParseErrorwhere\n Self: Debug + Display,"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js index cedf650b..52fee2e7 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl Debug for RouteParseError"],["impl<E: Debug> Debug for SocketError<E>"],["impl Debug for RequestParamType"],["impl Debug for Method"],["impl Debug for AppVersion"],["impl Debug for ApiMetadata"],["impl Debug for ApiError"],["impl Debug for RequestParam"],["impl Debug for RequestError"],["impl Debug for ApiVersion"],["impl Debug for HealthStatus"],["impl Debug for RequestParamValue"],["impl Debug for AppHealth"],["impl Debug for DiscoKey"],["impl Debug for DiscoArgs"],["impl Debug for UrlSegment"],["impl Debug for AppError"],["impl Debug for HealthStatus"],["impl<State, Error> Debug for Api<State, Error>"],["impl Debug for ServerError"],["impl<State, Error> Debug for Route<State, Error>"],["impl Debug for RequestParams"]] +"tide_disco":[["impl Debug for AppError"],["impl Debug for RequestParamType"],["impl Debug for ServerError"],["impl Debug for DiscoKey"],["impl<State, Error> Debug for Api<State, Error>"],["impl Debug for ApiError"],["impl Debug for RouteParseError"],["impl Debug for HealthStatus"],["impl<State, Error> Debug for Route<State, Error>"],["impl Debug for AppVersion"],["impl Debug for RequestError"],["impl Debug for RequestParam"],["impl Debug for ApiVersion"],["impl Debug for HealthStatus"],["impl<E: Debug> Debug for SocketError<E>"],["impl Debug for Method"],["impl Debug for RequestParams"],["impl Debug for AppHealth"],["impl Debug for UrlSegment"],["impl Debug for DiscoArgs"],["impl Debug for ApiMetadata"],["impl Debug for OutOfRangeError"],["impl Debug for RequestParamValue"],["impl Debug for StatusCode"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js index 1598366d..706a08b1 100644 --- a/implementors/core/fmt/trait.Display.js +++ b/implementors/core/fmt/trait.Display.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl Display for RequestError"],["impl Display for AppError"],["impl Display for HealthStatus"],["impl<E: Display> Display for RouteError<E>"],["impl<E: Display> Display for SocketError<E>"],["impl Display for RouteParseError"],["impl Display for Method"],["impl Display for RequestParamType"],["impl Display for ServerError"],["impl Display for ApiError"]] +"tide_disco":[["impl<E: Display> Display for RouteError<E>"],["impl Display for AppError"],["impl Display for HealthStatus"],["impl Display for RequestParamType"],["impl<E: Display> Display for SocketError<E>"],["impl Display for ServerError"],["impl Display for OutOfRangeError"],["impl Display for ApiError"],["impl Display for RouteParseError"],["impl Display for StatusCode"],["impl Display for Method"],["impl Display for RequestError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/hash/trait.Hash.js b/implementors/core/hash/trait.Hash.js new file mode 100644 index 00000000..01a5ae8a --- /dev/null +++ b/implementors/core/hash/trait.Hash.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"tide_disco":[["impl Hash for StatusCode"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/iter/traits/collect/trait.IntoIterator.js b/implementors/core/iter/traits/collect/trait.IntoIterator.js index 9e95e64c..0d644062 100644 --- a/implementors/core/iter/traits/collect/trait.IntoIterator.js +++ b/implementors/core/iter/traits/collect/trait.IntoIterator.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl<State, Error> IntoIterator for Api<State, Error>"],["impl<'a, State, Error> IntoIterator for &'a Api<State, Error>"]] +"tide_disco":[["impl<'a, State, Error> IntoIterator for &'a Api<State, Error>"],["impl<State, Error> IntoIterator for Api<State, Error>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Copy.js b/implementors/core/marker/trait.Copy.js index 12653655..a66abe6c 100644 --- a/implementors/core/marker/trait.Copy.js +++ b/implementors/core/marker/trait.Copy.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl Copy for Method"],["impl Copy for HealthStatus"],["impl Copy for RequestParamType"]] +"tide_disco":[["impl Copy for StatusCode"],["impl Copy for Method"],["impl Copy for HealthStatus"],["impl Copy for RequestParamType"],["impl Copy for OutOfRangeError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js index b617b83a..5f500b6f 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl Freeze for ApiError",1,["tide_disco::api::ApiError"]],["impl Freeze for ApiVersion",1,["tide_disco::api::ApiVersion"]],["impl Freeze for ApiMetadata",1,["tide_disco::api::ApiMetadata"]],["impl<State, Error> Freeze for Api<State, Error>",1,["tide_disco::api::Api"]],["impl<'a, State, Error> Freeze for RoutesWithPath<'a, State, Error>",1,["tide_disco::api::RoutesWithPath"]],["impl<State, Error> Freeze for App<State, Error>",1,["tide_disco::app::App"]],["impl Freeze for AppError",1,["tide_disco::app::AppError"]],["impl Freeze for AppHealth",1,["tide_disco::app::AppHealth"]],["impl Freeze for AppVersion",1,["tide_disco::app::AppVersion"]],["impl<'a, State, Error, ModuleError> Freeze for Module<'a, State, Error, ModuleError>",1,["tide_disco::app::Module"]],["impl Freeze for ServerError",1,["tide_disco::error::ServerError"]],["impl Freeze for HealthStatus",1,["tide_disco::healthcheck::HealthStatus"]],["impl Freeze for Method",1,["tide_disco::method::Method"]],["impl Freeze for ParseMethodError",1,["tide_disco::method::ParseMethodError"]],["impl Freeze for RequestError",1,["tide_disco::request::RequestError"]],["impl Freeze for RequestParams",1,["tide_disco::request::RequestParams"]],["impl Freeze for RequestParamValue",1,["tide_disco::request::RequestParamValue"]],["impl Freeze for RequestParamType",1,["tide_disco::request::RequestParamType"]],["impl Freeze for RequestParam",1,["tide_disco::request::RequestParam"]],["impl<E> Freeze for RouteError<E>where\n E: Freeze,",1,["tide_disco::route::RouteError"]],["impl<State, Error> Freeze for Route<State, Error>",1,["tide_disco::route::Route"]],["impl Freeze for RouteParseError",1,["tide_disco::route::RouteParseError"]],["impl<H, F, E> Freeze for MapErr<H, F, E>where\n F: Freeze,\n H: Freeze,",1,["tide_disco::route::MapErr"]],["impl<E> Freeze for SocketError<E>where\n E: Freeze,",1,["tide_disco::socket::SocketError"]],["impl<ToClient: ?Sized, FromClient, Error> Freeze for Connection<ToClient, FromClient, Error>",1,["tide_disco::socket::Connection"]],["impl Freeze for DiscoArgs",1,["tide_disco::DiscoArgs"]],["impl Freeze for DiscoKey",1,["tide_disco::DiscoKey"]],["impl Freeze for HealthStatus",1,["tide_disco::HealthStatus"]],["impl<AppState> Freeze for ServerState<AppState>where\n AppState: Freeze,",1,["tide_disco::ServerState"]],["impl Freeze for UrlSegment",1,["tide_disco::UrlSegment"]]] +"tide_disco":[["impl Freeze for ApiError",1,["tide_disco::api::ApiError"]],["impl Freeze for ApiVersion",1,["tide_disco::api::ApiVersion"]],["impl Freeze for ApiMetadata",1,["tide_disco::api::ApiMetadata"]],["impl<State, Error> Freeze for Api<State, Error>",1,["tide_disco::api::Api"]],["impl<'a, State, Error> Freeze for RoutesWithPath<'a, State, Error>",1,["tide_disco::api::RoutesWithPath"]],["impl<State, Error> Freeze for App<State, Error>",1,["tide_disco::app::App"]],["impl Freeze for AppError",1,["tide_disco::app::AppError"]],["impl Freeze for AppHealth",1,["tide_disco::app::AppHealth"]],["impl Freeze for AppVersion",1,["tide_disco::app::AppVersion"]],["impl<'a, State, Error, ModuleError> Freeze for Module<'a, State, Error, ModuleError>",1,["tide_disco::app::Module"]],["impl Freeze for ServerError",1,["tide_disco::error::ServerError"]],["impl Freeze for HealthStatus",1,["tide_disco::healthcheck::HealthStatus"]],["impl Freeze for Method",1,["tide_disco::method::Method"]],["impl Freeze for ParseMethodError",1,["tide_disco::method::ParseMethodError"]],["impl Freeze for RequestError",1,["tide_disco::request::RequestError"]],["impl Freeze for RequestParams",1,["tide_disco::request::RequestParams"]],["impl Freeze for RequestParamValue",1,["tide_disco::request::RequestParamValue"]],["impl Freeze for RequestParamType",1,["tide_disco::request::RequestParamType"]],["impl Freeze for RequestParam",1,["tide_disco::request::RequestParam"]],["impl<E> Freeze for RouteError<E>where\n E: Freeze,",1,["tide_disco::route::RouteError"]],["impl<State, Error> Freeze for Route<State, Error>",1,["tide_disco::route::Route"]],["impl Freeze for RouteParseError",1,["tide_disco::route::RouteParseError"]],["impl<H, F, E> Freeze for MapErr<H, F, E>where\n F: Freeze,\n H: Freeze,",1,["tide_disco::route::MapErr"]],["impl<E> Freeze for SocketError<E>where\n E: Freeze,",1,["tide_disco::socket::SocketError"]],["impl<ToClient: ?Sized, FromClient, Error> Freeze for Connection<ToClient, FromClient, Error>",1,["tide_disco::socket::Connection"]],["impl Freeze for StatusCode",1,["tide_disco::status::StatusCode"]],["impl Freeze for OutOfRangeError",1,["tide_disco::status::OutOfRangeError"]],["impl Freeze for DiscoArgs",1,["tide_disco::DiscoArgs"]],["impl Freeze for DiscoKey",1,["tide_disco::DiscoKey"]],["impl Freeze for HealthStatus",1,["tide_disco::HealthStatus"]],["impl<AppState> Freeze for ServerState<AppState>where\n AppState: Freeze,",1,["tide_disco::ServerState"]],["impl Freeze for UrlSegment",1,["tide_disco::UrlSegment"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js index 7fa275f2..a03e0a06 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl Send for ApiError",1,["tide_disco::api::ApiError"]],["impl Send for ApiVersion",1,["tide_disco::api::ApiVersion"]],["impl Send for ApiMetadata",1,["tide_disco::api::ApiMetadata"]],["impl<State, Error> Send for Api<State, Error>",1,["tide_disco::api::Api"]],["impl<'a, State, Error> Send for RoutesWithPath<'a, State, Error>",1,["tide_disco::api::RoutesWithPath"]],["impl<State, Error> Send for App<State, Error>where\n State: Send + Sync,",1,["tide_disco::app::App"]],["impl Send for AppError",1,["tide_disco::app::AppError"]],["impl Send for AppHealth",1,["tide_disco::app::AppHealth"]],["impl Send for AppVersion",1,["tide_disco::app::AppVersion"]],["impl<'a, State, Error, ModuleError> Send for Module<'a, State, Error, ModuleError>",1,["tide_disco::app::Module"]],["impl Send for ServerError",1,["tide_disco::error::ServerError"]],["impl Send for HealthStatus",1,["tide_disco::healthcheck::HealthStatus"]],["impl Send for Method",1,["tide_disco::method::Method"]],["impl Send for ParseMethodError",1,["tide_disco::method::ParseMethodError"]],["impl Send for RequestError",1,["tide_disco::request::RequestError"]],["impl Send for RequestParams",1,["tide_disco::request::RequestParams"]],["impl Send for RequestParamValue",1,["tide_disco::request::RequestParamValue"]],["impl Send for RequestParamType",1,["tide_disco::request::RequestParamType"]],["impl Send for RequestParam",1,["tide_disco::request::RequestParam"]],["impl<E> Send for RouteError<E>where\n E: Send,",1,["tide_disco::route::RouteError"]],["impl<State, Error> Send for Route<State, Error>",1,["tide_disco::route::Route"]],["impl Send for RouteParseError",1,["tide_disco::route::RouteParseError"]],["impl<H, F, E> Send for MapErr<H, F, E>where\n E: Send,\n F: Send,\n H: Send,",1,["tide_disco::route::MapErr"]],["impl<E> Send for SocketError<E>where\n E: Send,",1,["tide_disco::socket::SocketError"]],["impl<ToClient: ?Sized, FromClient, Error> Send for Connection<ToClient, FromClient, Error>",1,["tide_disco::socket::Connection"]],["impl Send for DiscoArgs",1,["tide_disco::DiscoArgs"]],["impl Send for DiscoKey",1,["tide_disco::DiscoKey"]],["impl Send for HealthStatus",1,["tide_disco::HealthStatus"]],["impl<AppState> Send for ServerState<AppState>where\n AppState: Send,",1,["tide_disco::ServerState"]],["impl Send for UrlSegment",1,["tide_disco::UrlSegment"]]] +"tide_disco":[["impl Send for ApiError",1,["tide_disco::api::ApiError"]],["impl Send for ApiVersion",1,["tide_disco::api::ApiVersion"]],["impl Send for ApiMetadata",1,["tide_disco::api::ApiMetadata"]],["impl<State, Error> Send for Api<State, Error>",1,["tide_disco::api::Api"]],["impl<'a, State, Error> Send for RoutesWithPath<'a, State, Error>",1,["tide_disco::api::RoutesWithPath"]],["impl<State, Error> Send for App<State, Error>where\n State: Send + Sync,",1,["tide_disco::app::App"]],["impl Send for AppError",1,["tide_disco::app::AppError"]],["impl Send for AppHealth",1,["tide_disco::app::AppHealth"]],["impl Send for AppVersion",1,["tide_disco::app::AppVersion"]],["impl<'a, State, Error, ModuleError> Send for Module<'a, State, Error, ModuleError>",1,["tide_disco::app::Module"]],["impl Send for ServerError",1,["tide_disco::error::ServerError"]],["impl Send for HealthStatus",1,["tide_disco::healthcheck::HealthStatus"]],["impl Send for Method",1,["tide_disco::method::Method"]],["impl Send for ParseMethodError",1,["tide_disco::method::ParseMethodError"]],["impl Send for RequestError",1,["tide_disco::request::RequestError"]],["impl Send for RequestParams",1,["tide_disco::request::RequestParams"]],["impl Send for RequestParamValue",1,["tide_disco::request::RequestParamValue"]],["impl Send for RequestParamType",1,["tide_disco::request::RequestParamType"]],["impl Send for RequestParam",1,["tide_disco::request::RequestParam"]],["impl<E> Send for RouteError<E>where\n E: Send,",1,["tide_disco::route::RouteError"]],["impl<State, Error> Send for Route<State, Error>",1,["tide_disco::route::Route"]],["impl Send for RouteParseError",1,["tide_disco::route::RouteParseError"]],["impl<H, F, E> Send for MapErr<H, F, E>where\n E: Send,\n F: Send,\n H: Send,",1,["tide_disco::route::MapErr"]],["impl<E> Send for SocketError<E>where\n E: Send,",1,["tide_disco::socket::SocketError"]],["impl<ToClient: ?Sized, FromClient, Error> Send for Connection<ToClient, FromClient, Error>",1,["tide_disco::socket::Connection"]],["impl Send for StatusCode",1,["tide_disco::status::StatusCode"]],["impl Send for OutOfRangeError",1,["tide_disco::status::OutOfRangeError"]],["impl Send for DiscoArgs",1,["tide_disco::DiscoArgs"]],["impl Send for DiscoKey",1,["tide_disco::DiscoKey"]],["impl Send for HealthStatus",1,["tide_disco::HealthStatus"]],["impl<AppState> Send for ServerState<AppState>where\n AppState: Send,",1,["tide_disco::ServerState"]],["impl Send for UrlSegment",1,["tide_disco::UrlSegment"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralEq.js b/implementors/core/marker/trait.StructuralEq.js index ffa287ed..6781f95c 100644 --- a/implementors/core/marker/trait.StructuralEq.js +++ b/implementors/core/marker/trait.StructuralEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl StructuralEq for RequestParamType"],["impl StructuralEq for HealthStatus"],["impl StructuralEq for AppHealth"],["impl StructuralEq for ServerError"],["impl StructuralEq for AppVersion"],["impl StructuralEq for Method"],["impl StructuralEq for RequestParamValue"],["impl StructuralEq for ApiVersion"]] +"tide_disco":[["impl StructuralEq for ServerError"],["impl StructuralEq for RequestParamValue"],["impl StructuralEq for AppVersion"],["impl StructuralEq for RequestParamType"],["impl StructuralEq for ApiVersion"],["impl StructuralEq for Method"],["impl StructuralEq for StatusCode"],["impl StructuralEq for HealthStatus"],["impl StructuralEq for AppHealth"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js index 43528493..74275cf1 100644 --- a/implementors/core/marker/trait.StructuralPartialEq.js +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl StructuralPartialEq for RequestParamValue"],["impl StructuralPartialEq for AppHealth"],["impl StructuralPartialEq for AppVersion"],["impl StructuralPartialEq for Method"],["impl StructuralPartialEq for ServerError"],["impl StructuralPartialEq for HealthStatus"],["impl StructuralPartialEq for RequestParamType"],["impl StructuralPartialEq for ApiVersion"]] +"tide_disco":[["impl StructuralPartialEq for AppHealth"],["impl StructuralPartialEq for AppVersion"],["impl StructuralPartialEq for HealthStatus"],["impl StructuralPartialEq for ServerError"],["impl StructuralPartialEq for RequestParamValue"],["impl StructuralPartialEq for Method"],["impl StructuralPartialEq for RequestParamType"],["impl StructuralPartialEq for StatusCode"],["impl StructuralPartialEq for ApiVersion"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index e128ec09..26f7cf49 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl Sync for ApiError",1,["tide_disco::api::ApiError"]],["impl Sync for ApiVersion",1,["tide_disco::api::ApiVersion"]],["impl Sync for ApiMetadata",1,["tide_disco::api::ApiMetadata"]],["impl<State, Error> Sync for Api<State, Error>",1,["tide_disco::api::Api"]],["impl<'a, State, Error> Sync for RoutesWithPath<'a, State, Error>",1,["tide_disco::api::RoutesWithPath"]],["impl<State, Error> Sync for App<State, Error>where\n State: Send + Sync,",1,["tide_disco::app::App"]],["impl Sync for AppError",1,["tide_disco::app::AppError"]],["impl Sync for AppHealth",1,["tide_disco::app::AppHealth"]],["impl Sync for AppVersion",1,["tide_disco::app::AppVersion"]],["impl<'a, State, Error, ModuleError> Sync for Module<'a, State, Error, ModuleError>",1,["tide_disco::app::Module"]],["impl Sync for ServerError",1,["tide_disco::error::ServerError"]],["impl Sync for HealthStatus",1,["tide_disco::healthcheck::HealthStatus"]],["impl Sync for Method",1,["tide_disco::method::Method"]],["impl Sync for ParseMethodError",1,["tide_disco::method::ParseMethodError"]],["impl Sync for RequestError",1,["tide_disco::request::RequestError"]],["impl Sync for RequestParams",1,["tide_disco::request::RequestParams"]],["impl Sync for RequestParamValue",1,["tide_disco::request::RequestParamValue"]],["impl Sync for RequestParamType",1,["tide_disco::request::RequestParamType"]],["impl Sync for RequestParam",1,["tide_disco::request::RequestParam"]],["impl<E> Sync for RouteError<E>where\n E: Sync,",1,["tide_disco::route::RouteError"]],["impl<State, Error> Sync for Route<State, Error>",1,["tide_disco::route::Route"]],["impl Sync for RouteParseError",1,["tide_disco::route::RouteParseError"]],["impl<H, F, E> Sync for MapErr<H, F, E>where\n E: Sync,\n F: Sync,\n H: Sync,",1,["tide_disco::route::MapErr"]],["impl<E> Sync for SocketError<E>where\n E: Sync,",1,["tide_disco::socket::SocketError"]],["impl<ToClient, FromClient, Error> !Sync for Connection<ToClient, FromClient, Error>",1,["tide_disco::socket::Connection"]],["impl Sync for DiscoArgs",1,["tide_disco::DiscoArgs"]],["impl Sync for DiscoKey",1,["tide_disco::DiscoKey"]],["impl Sync for HealthStatus",1,["tide_disco::HealthStatus"]],["impl<AppState> Sync for ServerState<AppState>where\n AppState: Sync,",1,["tide_disco::ServerState"]],["impl Sync for UrlSegment",1,["tide_disco::UrlSegment"]]] +"tide_disco":[["impl Sync for ApiError",1,["tide_disco::api::ApiError"]],["impl Sync for ApiVersion",1,["tide_disco::api::ApiVersion"]],["impl Sync for ApiMetadata",1,["tide_disco::api::ApiMetadata"]],["impl<State, Error> Sync for Api<State, Error>",1,["tide_disco::api::Api"]],["impl<'a, State, Error> Sync for RoutesWithPath<'a, State, Error>",1,["tide_disco::api::RoutesWithPath"]],["impl<State, Error> Sync for App<State, Error>where\n State: Send + Sync,",1,["tide_disco::app::App"]],["impl Sync for AppError",1,["tide_disco::app::AppError"]],["impl Sync for AppHealth",1,["tide_disco::app::AppHealth"]],["impl Sync for AppVersion",1,["tide_disco::app::AppVersion"]],["impl<'a, State, Error, ModuleError> Sync for Module<'a, State, Error, ModuleError>",1,["tide_disco::app::Module"]],["impl Sync for ServerError",1,["tide_disco::error::ServerError"]],["impl Sync for HealthStatus",1,["tide_disco::healthcheck::HealthStatus"]],["impl Sync for Method",1,["tide_disco::method::Method"]],["impl Sync for ParseMethodError",1,["tide_disco::method::ParseMethodError"]],["impl Sync for RequestError",1,["tide_disco::request::RequestError"]],["impl Sync for RequestParams",1,["tide_disco::request::RequestParams"]],["impl Sync for RequestParamValue",1,["tide_disco::request::RequestParamValue"]],["impl Sync for RequestParamType",1,["tide_disco::request::RequestParamType"]],["impl Sync for RequestParam",1,["tide_disco::request::RequestParam"]],["impl<E> Sync for RouteError<E>where\n E: Sync,",1,["tide_disco::route::RouteError"]],["impl<State, Error> Sync for Route<State, Error>",1,["tide_disco::route::Route"]],["impl Sync for RouteParseError",1,["tide_disco::route::RouteParseError"]],["impl<H, F, E> Sync for MapErr<H, F, E>where\n E: Sync,\n F: Sync,\n H: Sync,",1,["tide_disco::route::MapErr"]],["impl<E> Sync for SocketError<E>where\n E: Sync,",1,["tide_disco::socket::SocketError"]],["impl<ToClient, FromClient, Error> !Sync for Connection<ToClient, FromClient, Error>",1,["tide_disco::socket::Connection"]],["impl Sync for StatusCode",1,["tide_disco::status::StatusCode"]],["impl Sync for OutOfRangeError",1,["tide_disco::status::OutOfRangeError"]],["impl Sync for DiscoArgs",1,["tide_disco::DiscoArgs"]],["impl Sync for DiscoKey",1,["tide_disco::DiscoKey"]],["impl Sync for HealthStatus",1,["tide_disco::HealthStatus"]],["impl<AppState> Sync for ServerState<AppState>where\n AppState: Sync,",1,["tide_disco::ServerState"]],["impl Sync for UrlSegment",1,["tide_disco::UrlSegment"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js index 1f30141b..08b92143 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl Unpin for ApiError",1,["tide_disco::api::ApiError"]],["impl Unpin for ApiVersion",1,["tide_disco::api::ApiVersion"]],["impl Unpin for ApiMetadata",1,["tide_disco::api::ApiMetadata"]],["impl<State, Error> Unpin for Api<State, Error>",1,["tide_disco::api::Api"]],["impl<'a, State, Error> Unpin for RoutesWithPath<'a, State, Error>",1,["tide_disco::api::RoutesWithPath"]],["impl<State, Error> Unpin for App<State, Error>",1,["tide_disco::app::App"]],["impl Unpin for AppError",1,["tide_disco::app::AppError"]],["impl Unpin for AppHealth",1,["tide_disco::app::AppHealth"]],["impl Unpin for AppVersion",1,["tide_disco::app::AppVersion"]],["impl<'a, State, Error, ModuleError> Unpin for Module<'a, State, Error, ModuleError>",1,["tide_disco::app::Module"]],["impl Unpin for ServerError",1,["tide_disco::error::ServerError"]],["impl Unpin for HealthStatus",1,["tide_disco::healthcheck::HealthStatus"]],["impl Unpin for Method",1,["tide_disco::method::Method"]],["impl Unpin for ParseMethodError",1,["tide_disco::method::ParseMethodError"]],["impl Unpin for RequestError",1,["tide_disco::request::RequestError"]],["impl Unpin for RequestParams",1,["tide_disco::request::RequestParams"]],["impl Unpin for RequestParamValue",1,["tide_disco::request::RequestParamValue"]],["impl Unpin for RequestParamType",1,["tide_disco::request::RequestParamType"]],["impl Unpin for RequestParam",1,["tide_disco::request::RequestParam"]],["impl<E> Unpin for RouteError<E>where\n E: Unpin,",1,["tide_disco::route::RouteError"]],["impl<State, Error> Unpin for Route<State, Error>",1,["tide_disco::route::Route"]],["impl Unpin for RouteParseError",1,["tide_disco::route::RouteParseError"]],["impl<H, F, E> Unpin for MapErr<H, F, E>where\n E: Unpin,\n F: Unpin,\n H: Unpin,",1,["tide_disco::route::MapErr"]],["impl<E> Unpin for SocketError<E>where\n E: Unpin,",1,["tide_disco::socket::SocketError"]],["impl<ToClient: ?Sized, FromClient, Error> Unpin for Connection<ToClient, FromClient, Error>",1,["tide_disco::socket::Connection"]],["impl Unpin for DiscoArgs",1,["tide_disco::DiscoArgs"]],["impl Unpin for DiscoKey",1,["tide_disco::DiscoKey"]],["impl Unpin for HealthStatus",1,["tide_disco::HealthStatus"]],["impl<AppState> Unpin for ServerState<AppState>where\n AppState: Unpin,",1,["tide_disco::ServerState"]],["impl Unpin for UrlSegment",1,["tide_disco::UrlSegment"]]] +"tide_disco":[["impl Unpin for ApiError",1,["tide_disco::api::ApiError"]],["impl Unpin for ApiVersion",1,["tide_disco::api::ApiVersion"]],["impl Unpin for ApiMetadata",1,["tide_disco::api::ApiMetadata"]],["impl<State, Error> Unpin for Api<State, Error>",1,["tide_disco::api::Api"]],["impl<'a, State, Error> Unpin for RoutesWithPath<'a, State, Error>",1,["tide_disco::api::RoutesWithPath"]],["impl<State, Error> Unpin for App<State, Error>",1,["tide_disco::app::App"]],["impl Unpin for AppError",1,["tide_disco::app::AppError"]],["impl Unpin for AppHealth",1,["tide_disco::app::AppHealth"]],["impl Unpin for AppVersion",1,["tide_disco::app::AppVersion"]],["impl<'a, State, Error, ModuleError> Unpin for Module<'a, State, Error, ModuleError>",1,["tide_disco::app::Module"]],["impl Unpin for ServerError",1,["tide_disco::error::ServerError"]],["impl Unpin for HealthStatus",1,["tide_disco::healthcheck::HealthStatus"]],["impl Unpin for Method",1,["tide_disco::method::Method"]],["impl Unpin for ParseMethodError",1,["tide_disco::method::ParseMethodError"]],["impl Unpin for RequestError",1,["tide_disco::request::RequestError"]],["impl Unpin for RequestParams",1,["tide_disco::request::RequestParams"]],["impl Unpin for RequestParamValue",1,["tide_disco::request::RequestParamValue"]],["impl Unpin for RequestParamType",1,["tide_disco::request::RequestParamType"]],["impl Unpin for RequestParam",1,["tide_disco::request::RequestParam"]],["impl<E> Unpin for RouteError<E>where\n E: Unpin,",1,["tide_disco::route::RouteError"]],["impl<State, Error> Unpin for Route<State, Error>",1,["tide_disco::route::Route"]],["impl Unpin for RouteParseError",1,["tide_disco::route::RouteParseError"]],["impl<H, F, E> Unpin for MapErr<H, F, E>where\n E: Unpin,\n F: Unpin,\n H: Unpin,",1,["tide_disco::route::MapErr"]],["impl<E> Unpin for SocketError<E>where\n E: Unpin,",1,["tide_disco::socket::SocketError"]],["impl<ToClient: ?Sized, FromClient, Error> Unpin for Connection<ToClient, FromClient, Error>",1,["tide_disco::socket::Connection"]],["impl Unpin for StatusCode",1,["tide_disco::status::StatusCode"]],["impl Unpin for OutOfRangeError",1,["tide_disco::status::OutOfRangeError"]],["impl Unpin for DiscoArgs",1,["tide_disco::DiscoArgs"]],["impl Unpin for DiscoKey",1,["tide_disco::DiscoKey"]],["impl Unpin for HealthStatus",1,["tide_disco::HealthStatus"]],["impl<AppState> Unpin for ServerState<AppState>where\n AppState: Unpin,",1,["tide_disco::ServerState"]],["impl Unpin for UrlSegment",1,["tide_disco::UrlSegment"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index c441edbf..80214b8b 100644 --- a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl RefUnwindSafe for ApiError",1,["tide_disco::api::ApiError"]],["impl RefUnwindSafe for ApiVersion",1,["tide_disco::api::ApiVersion"]],["impl RefUnwindSafe for ApiMetadata",1,["tide_disco::api::ApiMetadata"]],["impl<State, Error> !RefUnwindSafe for Api<State, Error>",1,["tide_disco::api::Api"]],["impl<'a, State, Error> !RefUnwindSafe for RoutesWithPath<'a, State, Error>",1,["tide_disco::api::RoutesWithPath"]],["impl<State, Error> !RefUnwindSafe for App<State, Error>",1,["tide_disco::app::App"]],["impl RefUnwindSafe for AppError",1,["tide_disco::app::AppError"]],["impl RefUnwindSafe for AppHealth",1,["tide_disco::app::AppHealth"]],["impl RefUnwindSafe for AppVersion",1,["tide_disco::app::AppVersion"]],["impl<'a, State, Error, ModuleError> !RefUnwindSafe for Module<'a, State, Error, ModuleError>",1,["tide_disco::app::Module"]],["impl RefUnwindSafe for ServerError",1,["tide_disco::error::ServerError"]],["impl RefUnwindSafe for HealthStatus",1,["tide_disco::healthcheck::HealthStatus"]],["impl RefUnwindSafe for Method",1,["tide_disco::method::Method"]],["impl RefUnwindSafe for ParseMethodError",1,["tide_disco::method::ParseMethodError"]],["impl RefUnwindSafe for RequestError",1,["tide_disco::request::RequestError"]],["impl !RefUnwindSafe for RequestParams",1,["tide_disco::request::RequestParams"]],["impl RefUnwindSafe for RequestParamValue",1,["tide_disco::request::RequestParamValue"]],["impl RefUnwindSafe for RequestParamType",1,["tide_disco::request::RequestParamType"]],["impl RefUnwindSafe for RequestParam",1,["tide_disco::request::RequestParam"]],["impl<E> !RefUnwindSafe for RouteError<E>",1,["tide_disco::route::RouteError"]],["impl<State, Error> !RefUnwindSafe for Route<State, Error>",1,["tide_disco::route::Route"]],["impl RefUnwindSafe for RouteParseError",1,["tide_disco::route::RouteParseError"]],["impl<H, F, E> RefUnwindSafe for MapErr<H, F, E>where\n E: RefUnwindSafe,\n F: RefUnwindSafe,\n H: RefUnwindSafe,",1,["tide_disco::route::MapErr"]],["impl<E> !RefUnwindSafe for SocketError<E>",1,["tide_disco::socket::SocketError"]],["impl<ToClient, FromClient, Error> !RefUnwindSafe for Connection<ToClient, FromClient, Error>",1,["tide_disco::socket::Connection"]],["impl RefUnwindSafe for DiscoArgs",1,["tide_disco::DiscoArgs"]],["impl RefUnwindSafe for DiscoKey",1,["tide_disco::DiscoKey"]],["impl RefUnwindSafe for HealthStatus",1,["tide_disco::HealthStatus"]],["impl<AppState> !RefUnwindSafe for ServerState<AppState>",1,["tide_disco::ServerState"]],["impl RefUnwindSafe for UrlSegment",1,["tide_disco::UrlSegment"]]] +"tide_disco":[["impl RefUnwindSafe for ApiError",1,["tide_disco::api::ApiError"]],["impl RefUnwindSafe for ApiVersion",1,["tide_disco::api::ApiVersion"]],["impl RefUnwindSafe for ApiMetadata",1,["tide_disco::api::ApiMetadata"]],["impl<State, Error> !RefUnwindSafe for Api<State, Error>",1,["tide_disco::api::Api"]],["impl<'a, State, Error> !RefUnwindSafe for RoutesWithPath<'a, State, Error>",1,["tide_disco::api::RoutesWithPath"]],["impl<State, Error> !RefUnwindSafe for App<State, Error>",1,["tide_disco::app::App"]],["impl RefUnwindSafe for AppError",1,["tide_disco::app::AppError"]],["impl RefUnwindSafe for AppHealth",1,["tide_disco::app::AppHealth"]],["impl RefUnwindSafe for AppVersion",1,["tide_disco::app::AppVersion"]],["impl<'a, State, Error, ModuleError> !RefUnwindSafe for Module<'a, State, Error, ModuleError>",1,["tide_disco::app::Module"]],["impl RefUnwindSafe for ServerError",1,["tide_disco::error::ServerError"]],["impl RefUnwindSafe for HealthStatus",1,["tide_disco::healthcheck::HealthStatus"]],["impl RefUnwindSafe for Method",1,["tide_disco::method::Method"]],["impl RefUnwindSafe for ParseMethodError",1,["tide_disco::method::ParseMethodError"]],["impl RefUnwindSafe for RequestError",1,["tide_disco::request::RequestError"]],["impl !RefUnwindSafe for RequestParams",1,["tide_disco::request::RequestParams"]],["impl RefUnwindSafe for RequestParamValue",1,["tide_disco::request::RequestParamValue"]],["impl RefUnwindSafe for RequestParamType",1,["tide_disco::request::RequestParamType"]],["impl RefUnwindSafe for RequestParam",1,["tide_disco::request::RequestParam"]],["impl<E> !RefUnwindSafe for RouteError<E>",1,["tide_disco::route::RouteError"]],["impl<State, Error> !RefUnwindSafe for Route<State, Error>",1,["tide_disco::route::Route"]],["impl RefUnwindSafe for RouteParseError",1,["tide_disco::route::RouteParseError"]],["impl<H, F, E> RefUnwindSafe for MapErr<H, F, E>where\n E: RefUnwindSafe,\n F: RefUnwindSafe,\n H: RefUnwindSafe,",1,["tide_disco::route::MapErr"]],["impl<E> !RefUnwindSafe for SocketError<E>",1,["tide_disco::socket::SocketError"]],["impl<ToClient, FromClient, Error> !RefUnwindSafe for Connection<ToClient, FromClient, Error>",1,["tide_disco::socket::Connection"]],["impl RefUnwindSafe for StatusCode",1,["tide_disco::status::StatusCode"]],["impl RefUnwindSafe for OutOfRangeError",1,["tide_disco::status::OutOfRangeError"]],["impl RefUnwindSafe for DiscoArgs",1,["tide_disco::DiscoArgs"]],["impl RefUnwindSafe for DiscoKey",1,["tide_disco::DiscoKey"]],["impl RefUnwindSafe for HealthStatus",1,["tide_disco::HealthStatus"]],["impl<AppState> !RefUnwindSafe for ServerState<AppState>",1,["tide_disco::ServerState"]],["impl RefUnwindSafe for UrlSegment",1,["tide_disco::UrlSegment"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index 1d6d4403..3dacd6c4 100644 --- a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl UnwindSafe for ApiError",1,["tide_disco::api::ApiError"]],["impl UnwindSafe for ApiVersion",1,["tide_disco::api::ApiVersion"]],["impl UnwindSafe for ApiMetadata",1,["tide_disco::api::ApiMetadata"]],["impl<State, Error> !UnwindSafe for Api<State, Error>",1,["tide_disco::api::Api"]],["impl<'a, State, Error> !UnwindSafe for RoutesWithPath<'a, State, Error>",1,["tide_disco::api::RoutesWithPath"]],["impl<State, Error> !UnwindSafe for App<State, Error>",1,["tide_disco::app::App"]],["impl UnwindSafe for AppError",1,["tide_disco::app::AppError"]],["impl UnwindSafe for AppHealth",1,["tide_disco::app::AppHealth"]],["impl UnwindSafe for AppVersion",1,["tide_disco::app::AppVersion"]],["impl<'a, State, Error, ModuleError> !UnwindSafe for Module<'a, State, Error, ModuleError>",1,["tide_disco::app::Module"]],["impl UnwindSafe for ServerError",1,["tide_disco::error::ServerError"]],["impl UnwindSafe for HealthStatus",1,["tide_disco::healthcheck::HealthStatus"]],["impl UnwindSafe for Method",1,["tide_disco::method::Method"]],["impl UnwindSafe for ParseMethodError",1,["tide_disco::method::ParseMethodError"]],["impl UnwindSafe for RequestError",1,["tide_disco::request::RequestError"]],["impl !UnwindSafe for RequestParams",1,["tide_disco::request::RequestParams"]],["impl UnwindSafe for RequestParamValue",1,["tide_disco::request::RequestParamValue"]],["impl UnwindSafe for RequestParamType",1,["tide_disco::request::RequestParamType"]],["impl UnwindSafe for RequestParam",1,["tide_disco::request::RequestParam"]],["impl<E> !UnwindSafe for RouteError<E>",1,["tide_disco::route::RouteError"]],["impl<State, Error> !UnwindSafe for Route<State, Error>",1,["tide_disco::route::Route"]],["impl UnwindSafe for RouteParseError",1,["tide_disco::route::RouteParseError"]],["impl<H, F, E> UnwindSafe for MapErr<H, F, E>where\n E: UnwindSafe,\n F: UnwindSafe,\n H: UnwindSafe,",1,["tide_disco::route::MapErr"]],["impl<E> !UnwindSafe for SocketError<E>",1,["tide_disco::socket::SocketError"]],["impl<ToClient, FromClient, Error> !UnwindSafe for Connection<ToClient, FromClient, Error>",1,["tide_disco::socket::Connection"]],["impl UnwindSafe for DiscoArgs",1,["tide_disco::DiscoArgs"]],["impl UnwindSafe for DiscoKey",1,["tide_disco::DiscoKey"]],["impl UnwindSafe for HealthStatus",1,["tide_disco::HealthStatus"]],["impl<AppState> !UnwindSafe for ServerState<AppState>",1,["tide_disco::ServerState"]],["impl UnwindSafe for UrlSegment",1,["tide_disco::UrlSegment"]]] +"tide_disco":[["impl UnwindSafe for ApiError",1,["tide_disco::api::ApiError"]],["impl UnwindSafe for ApiVersion",1,["tide_disco::api::ApiVersion"]],["impl UnwindSafe for ApiMetadata",1,["tide_disco::api::ApiMetadata"]],["impl<State, Error> !UnwindSafe for Api<State, Error>",1,["tide_disco::api::Api"]],["impl<'a, State, Error> !UnwindSafe for RoutesWithPath<'a, State, Error>",1,["tide_disco::api::RoutesWithPath"]],["impl<State, Error> !UnwindSafe for App<State, Error>",1,["tide_disco::app::App"]],["impl UnwindSafe for AppError",1,["tide_disco::app::AppError"]],["impl UnwindSafe for AppHealth",1,["tide_disco::app::AppHealth"]],["impl UnwindSafe for AppVersion",1,["tide_disco::app::AppVersion"]],["impl<'a, State, Error, ModuleError> !UnwindSafe for Module<'a, State, Error, ModuleError>",1,["tide_disco::app::Module"]],["impl UnwindSafe for ServerError",1,["tide_disco::error::ServerError"]],["impl UnwindSafe for HealthStatus",1,["tide_disco::healthcheck::HealthStatus"]],["impl UnwindSafe for Method",1,["tide_disco::method::Method"]],["impl UnwindSafe for ParseMethodError",1,["tide_disco::method::ParseMethodError"]],["impl UnwindSafe for RequestError",1,["tide_disco::request::RequestError"]],["impl !UnwindSafe for RequestParams",1,["tide_disco::request::RequestParams"]],["impl UnwindSafe for RequestParamValue",1,["tide_disco::request::RequestParamValue"]],["impl UnwindSafe for RequestParamType",1,["tide_disco::request::RequestParamType"]],["impl UnwindSafe for RequestParam",1,["tide_disco::request::RequestParam"]],["impl<E> !UnwindSafe for RouteError<E>",1,["tide_disco::route::RouteError"]],["impl<State, Error> !UnwindSafe for Route<State, Error>",1,["tide_disco::route::Route"]],["impl UnwindSafe for RouteParseError",1,["tide_disco::route::RouteParseError"]],["impl<H, F, E> UnwindSafe for MapErr<H, F, E>where\n E: UnwindSafe,\n F: UnwindSafe,\n H: UnwindSafe,",1,["tide_disco::route::MapErr"]],["impl<E> !UnwindSafe for SocketError<E>",1,["tide_disco::socket::SocketError"]],["impl<ToClient, FromClient, Error> !UnwindSafe for Connection<ToClient, FromClient, Error>",1,["tide_disco::socket::Connection"]],["impl UnwindSafe for StatusCode",1,["tide_disco::status::StatusCode"]],["impl UnwindSafe for OutOfRangeError",1,["tide_disco::status::OutOfRangeError"]],["impl UnwindSafe for DiscoArgs",1,["tide_disco::DiscoArgs"]],["impl UnwindSafe for DiscoKey",1,["tide_disco::DiscoKey"]],["impl UnwindSafe for HealthStatus",1,["tide_disco::HealthStatus"]],["impl<AppState> !UnwindSafe for ServerState<AppState>",1,["tide_disco::ServerState"]],["impl UnwindSafe for UrlSegment",1,["tide_disco::UrlSegment"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/num_traits/cast/trait.FromPrimitive.js b/implementors/num_traits/cast/trait.FromPrimitive.js new file mode 100644 index 00000000..b6bf0c1c --- /dev/null +++ b/implementors/num_traits/cast/trait.FromPrimitive.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"tide_disco":[["impl FromPrimitive for StatusCode"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/serde/de/trait.Deserialize.js b/implementors/serde/de/trait.Deserialize.js index 35602ee5..52b36299 100644 --- a/implementors/serde/de/trait.Deserialize.js +++ b/implementors/serde/de/trait.Deserialize.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl<'de> Deserialize<'de> for ServerError"],["impl<'de> Deserialize<'de> for RequestError"],["impl<'de> Deserialize<'de> for ApiVersion"],["impl<'de> Deserialize<'de> for AppVersion"],["impl<'de> Deserialize<'de> for AppHealth"],["impl<'de> Deserialize<'de> for HealthStatus"],["impl<'de> Deserialize<'de> for HealthStatus"],["impl<'de> Deserialize<'de> for RequestParamType"],["impl<'de> Deserialize<'de> for ApiMetadata"]] +"tide_disco":[["impl<'de> Deserialize<'de> for HealthStatus"],["impl<'de> Deserialize<'de> for RequestParamType"],["impl<'de> Deserialize<'de> for ApiVersion"],["impl<'de> Deserialize<'de> for AppVersion"],["impl<'de> Deserialize<'de> for RequestError"],["impl<'de> Deserialize<'de> for AppHealth"],["impl<'de> Deserialize<'de> for ServerError"],["impl<'de> Deserialize<'de> for StatusCode"],["impl<'de> Deserialize<'de> for ApiMetadata"],["impl<'de> Deserialize<'de> for HealthStatus"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/serde/ser/trait.Serialize.js b/implementors/serde/ser/trait.Serialize.js index d30366b5..5e8fa63e 100644 --- a/implementors/serde/ser/trait.Serialize.js +++ b/implementors/serde/ser/trait.Serialize.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl Serialize for AppVersion"],["impl Serialize for HealthStatus"],["impl Serialize for AppHealth"],["impl Serialize for ApiMetadata"],["impl Serialize for ApiVersion"],["impl Serialize for RequestParamType"],["impl Serialize for RequestError"],["impl Serialize for ServerError"]] +"tide_disco":[["impl Serialize for ApiVersion"],["impl Serialize for AppVersion"],["impl Serialize for AppHealth"],["impl Serialize for HealthStatus"],["impl Serialize for RequestError"],["impl Serialize for ServerError"],["impl Serialize for StatusCode"],["impl Serialize for RequestParamType"],["impl Serialize for ApiMetadata"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/snafu/trait.ErrorCompat.js b/implementors/snafu/trait.ErrorCompat.js index 7bef218e..fb567999 100644 --- a/implementors/snafu/trait.ErrorCompat.js +++ b/implementors/snafu/trait.ErrorCompat.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tide_disco":[["impl ErrorCompat for ApiError"],["impl ErrorCompat for ServerError"],["impl ErrorCompat for RequestError"],["impl ErrorCompat for RouteParseError"],["impl ErrorCompat for AppError"]] +"tide_disco":[["impl ErrorCompat for AppError"],["impl ErrorCompat for ServerError"],["impl ErrorCompat for RequestError"],["impl ErrorCompat for ApiError"],["impl ErrorCompat for OutOfRangeError"],["impl ErrorCompat for RouteParseError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/search-index.js b/search-index.js index 4ec61ea8..5dbf742b 100644 --- a/search-index.js +++ b/search-index.js @@ -1,5 +1,5 @@ var searchIndex = JSON.parse('{\ -"tide_disco":{"doc":"Tide Disco is a web server framework with built-in …","t":"NCCGGNNNNNNNNNNDENCNNNNNNNENGNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNCNCCCCNNNRRNDNNENNNNNNNNNNNNNNDENMNAMNAFMMNLLLLLLLMNLLLLLLLLLLLLLLLLFLLLLLLLLLLLLFFFLLLLNLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLMMAFLLCLLLLFLLLLLLLLLLLLLLLLLLLFLAALLFLLLLLLLLLLLLLAAMMLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFNDEDNDNNNNNNNNNDNMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLMLLLLLLLMMMMLMMLLLLLLLLLLLMLLMMMMLLMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMNDEDDIQDNIKMLLKLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLKLLLLLLLMMLLLLLLMKLLLLLLLLLLLLLLLLLLLLLLLLLLLMIDLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLMLLKLMLLLLLLNIENNNNNLLLLLLLLLLLLLLKLLLLLLNENDINQILLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLKQIKNNNNNNNNNNNNNNNEDEEDNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMNNNNNNNNNNDNNNNNDENENNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMNNNDNNNENNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMM","n":["Accepted","Api","App","AppServerState","AppState","Array","Available","BadGateway","BadRequest","Boolean","Boolean","Conflict","Continue","Created","Datetime","DiscoArgs","DiscoKey","EarlyHints","Error","ExpectationFailed","FailedDependency","Float","Forbidden","Found","GatewayTimeout","Gone","HealthStatus","Hexadecimal","Html","HttpVersionNotSupported","ImATeapot","ImUsed","InsufficientStorage","Integer","Integer","InternalServerError","LengthRequired","Literal","Locked","LoopDetected","Method","MethodNotAllowed","MisdirectedRequest","MovedPermanently","MultiStatus","MultipleChoice","NetworkAuthenticationRequired","NoContent","NonAuthoritativeInformation","NotAcceptable","NotExtended","NotFound","NotImplemented","NotModified","Ok","PartialContent","PayloadTooLarge","PaymentRequired","PermanentRedirect","PreconditionFailed","PreconditionRequired","ProxyAuthenticationRequired","RequestError","RequestHeaderFieldsTooLarge","RequestParam","RequestParamType","RequestParamValue","RequestParams","RequestTimeout","RequestedRangeNotSatisfiable","ResetContent","SERVER_STARTUP_RETRIES","SERVER_STARTUP_SLEEP_MS","SeeOther","ServerState","ServiceUnavailable","Starting","StatusCode","Stopping","String","SwitchingProtocols","Table","TaggedBase64","TemporaryRedirect","TooEarly","TooManyRequests","Unauthorized","UnavailableForLegalReasons","UnprocessableEntity","UnsupportedMediaType","UpgradeRequired","UriTooLong","Url","UrlSegment","VariantAlsoNegotiates","ansi_color","ansi_color","api","api_toml","api_toml","app","app_api_path","app_state","app_state","app_toml","as_ref","as_ref","as_ref","as_str","augment_args","augment_args_for_update","authority","base_url","base_url","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cannot_be_a_base","canonical_reason","check_api","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","compare","compose_config_path","compose_settings","configure_router","deserialize","deserialize","deserialize","deserialize_internal","disco_toml","domain","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fragment","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches_mut","from_directory_path","from_file_path","from_str","from_str","get_api_path","get_hash","get_hash","group_id","has_authority","has_host","hash","hash","health_status","health_status","healthcheck","healthcheck","host","host_str","http","index","index","index","index","init_logging","into","into","into","into","into","into","into","into_client_request","into_client_request","into_resettable","into_string","is_bound","is_client_error","is_informational","is_redirection","is_server_error","is_special","is_success","join","load_api","make_relative","method","metrics","new","options","org_data_path","origin","parse","parse_with_params","partial_cmp","password","path","path_segments","path_segments_mut","port","port_or_known_default","query","query_pairs","query_pairs_mut","request","route","router","router","scheme","serialize","serialize","serialize_internal","set_fragment","set_host","set_ip_host","set_password","set_path","set_port","set_query","set_scheme","set_username","socket","socket_addrs","to_file_path","to_listener","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches_mut","username","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wait_for_server","AmbiguousRoutes","Api","ApiError","ApiMetadata","ApiMustBeTable","ApiVersion","CannotReadToml","HandlerAlreadyRegistered","IncorrectMethod","InvalidFormatVersion","InvalidMetaTable","MissingFormatVersion","MissingRoutesTable","Route","RoutesMustBeTable","RoutesWithPath","UndefinedRoute","api_version","as_error_source","at","backtrace","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cause","clone","clone","clone","clone_into","clone_into","clone_into","default","delete","description","description","description","deserialize","deserialize","documentation","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","format_version","from","from","from","from","from","from_file","get","heading_description","heading_entry","heading_parameters","heading_routes","health","html_bottom","html_top","index","into","into","into","into","into","into_iter","into_iter","into_iter","map_err","metrics","name","new","next","parameter_none","parameter_row","parameter_table_close","parameter_table_open","post","put","route_path","routes_by_path","serialize","serialize","socket","source","spec_version","stream","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","version","vzip","vzip","vzip","vzip","vzip","with_health_check","with_public","with_version","actual","expected","reason","route1","route2","source","source","Api","App","AppError","AppHealth","AppVersion","Listener","Listener","Module","ModuleAlreadyExists","ToListener","accept","app_version","as_error_source","backtrace","bind","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cause","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref_mut","description","deserialize","deserialize","disco_version","drop","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","health","info","into","into","into","into","into","module","module_health","modules","modules","register_module","serialize","serialize","serve","source","status","status","to_listener","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","version","vzip","vzip","vzip","vzip","vzip","with_state","with_version","source","Error","ServerError","as_error_source","backtrace","borrow","borrow_mut","catch_all","catch_all","cause","clone","clone_into","description","deserialize","eq","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from","from","from_config_error","from_io_error","from_request_error","from_route_error","from_server_error","from_socket_error","into","into_tide_error","message","serialize","source","status","status","status","to_owned","to_string","try_from","try_into","type_id","vzip","Available","HealthCheck","HealthStatus","Initializing","ShuttingDown","TemporarilyUnavailable","Unavailabale","Unhealthy","borrow","borrow_mut","clone","clone_into","default","deserialize","eq","equivalent","equivalent","equivalent","fmt","from","into","serialize","status","status","to_owned","try_from","try_into","type_id","vzip","Http","Method","Metrics","ParseMethodError","ReadState","Socket","State","WriteState","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","delete","eq","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from_str","get","into","into","is_http","is_mutable","metrics","post","put","read","socket","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","write","Error","Metrics","export","Bincode","Boolean","Boolean","Hexadecimal","Hexadecimal","Http","IncorrectParamType","Integer","Integer","IntegerOverflow","InvalidParam","Json","Literal","Literal","MissingParam","RequestError","RequestParam","RequestParamType","RequestParamValue","RequestParams","TagMismatch","TaggedBase64","TaggedBase64","TaggedBase64","UnsupportedContentType","accept","as_blob","as_boolean","as_error_source","as_integer","as_string","as_tagged_base64","backtrace","blob_param","body_auto","body_bytes","body_json","boolean_param","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cause","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","description","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_str","headers","integer_param","into","into","into","into","into","method","name","new","opt_blob_param","opt_boolean_param","opt_integer_param","opt_param","opt_string_param","opt_tagged_base64_param","param","param_type","param_type","parse","remote","serialize","serialize","source","string_param","tagged_base64_param","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","actual","actual","expected","expected","expected","name","param_type","reason","reason","reason","value","AppSpecific","Bincode","ExportMetrics","IncorrectDocType","IncorrectMethod","IncorrectParamType","IncorrectPathType","InvalidMethod","InvalidTypeExpression","Json","MapErr","MethodMustBeString","MissingPath","MissingPathArray","PathElementError","Request","Route","RouteError","RouteMustBeTable","RouteParseError","Tide","UnrecognizedType","UnsupportedContentType","as_error_source","backtrace","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cause","clone","clone_into","description","documentation","fmt","fmt","fmt","fmt","from","from","from","from","from","has_handler","into","into","into","into","map_app_specific","map_err","method","name","new","params","patterns","source","status","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","expected","AppSpecific","Bincode","Closed","Connection","IncorrectMethod","Json","Request","SocketError","UnsupportedMessageType","WebSockets","borrow","borrow","borrow_mut","borrow_mut","code","drop","fmt","fmt","from","from","from","from","from","from","into","into","into_stream","map_app_specific","poll_close","poll_flush","poll_next","poll_ready","start_send","status","to_string","try_from","try_from","try_into","try_into","try_poll_next","type_id","type_id","vzip","vzip","actual","expected"],"q":[[0,"tide_disco"],[308,"tide_disco::api"],[434,"tide_disco::api::ApiError"],[441,"tide_disco::app"],[543,"tide_disco::app::AppError"],[544,"tide_disco::error"],[589,"tide_disco::healthcheck"],[618,"tide_disco::method"],[664,"tide_disco::metrics"],[667,"tide_disco::request"],[804,"tide_disco::request::RequestError"],[815,"tide_disco::route"],[895,"tide_disco::route::RouteError"],[896,"tide_disco::socket"],[940,"tide_disco::socket::SocketError"],[942,"std::path"],[943,"clap_builder::builder::command"],[944,"toml::value"],[945,"core::clone"],[946,"core::cmp"],[947,"config::config"],[948,"config::error"],[949,"core::result"],[950,"routefinder::router"],[951,"alloc::sync"],[952,"serde::de"],[953,"core::option"],[954,"core::fmt"],[955,"core::fmt"],[956,"clap_builder"],[957,"std::path"],[958,"url::parser"],[959,"core::hash"],[960,"core::marker"],[961,"core::hash"],[962,"core::hash"],[963,"tide::response"],[964,"http_types::error"],[965,"url::host"],[966,"core::ops::range"],[967,"url::slicing"],[968,"core::ops::range"],[969,"tungstenite::error"],[970,"alloc::string"],[971,"clap_builder::builder::resettable"],[972,"url"],[973,"url::origin"],[974,"core::iter::traits::collect"],[975,"core::str::iter"],[976,"url::path_segments"],[977,"form_urlencoded"],[978,"url"],[979,"core::net::ip_addr"],[980,"core::net::socket_addr"],[981,"alloc::alloc"],[982,"alloc::vec"],[983,"std::io::error"],[984,"core::ops::function"],[985,"core::any"],[986,"core::error"],[987,"core::marker"],[988,"core::convert"],[989,"core::fmt"],[990,"core::future::future"],[991,"alloc::boxed"],[992,"core::pin"],[993,"tide::server"],[994,"core::convert"],[995,"std::io::error"],[996,"core::ops::function"],[997,"tagged_base64"],[998,"core::convert"],[999,"tungstenite::protocol::frame::coding"],[1000,"core::fmt"],[1001,"serde_json::error"],[1002,"core::task::wake"],[1003,"core::task::poll"],[1004,"serde::ser"]],"d":["202 Accepted","","","","","Represents a TOML array","","502 Bad Gateway","400 Bad Request","Represents a TOML boolean","","409 Conflict","100 Continue","201 Created","Represents a TOML datetime","","Configuration keys for Tide Disco settings","103 Early Hints","","417 Expectation Failed","424 Failed Dependency","Represents a TOML float","403 Forbidden","302 Found","504 Gateway Timeout","410 Gone","","","","505 HTTP Version Not Supported","418 I’m a teapot","226 Im Used","507 Insufficient Storage","Represents a TOML integer","","500 Internal Server Error","411 Length Required","","423 Locked","508 Loop Detected","","405 Method Not Allowed","421 Misdirected Request","301 Moved Permanently","207 Multi-Status","300 Multiple Choice","511 Network Authentication Required","204 No Content","203 Non Authoritative Information","406 Not Acceptable","510 Not Extended","404 Not Found","501 Not Implemented","304 Not Modified","200 Ok","206 Partial Content","413 Payload Too Large","402 Payment Required","308 Permanent Redirect","412 Precondition Failed","428 Precondition Required","407 Proxy Authentication Required","","431 Request Header Fields Too Large","","","","","408 Request Timeout","416 Requested Range Not Satisfiable","205 Reset Content","Number of times to poll before failing","Number of milliseconds to sleep between attempts","303 See Other","","503 Service Unavailable","","HTTP response status codes.","","Represents a TOML string","101 Switching Protocols","Represents a TOML table","","307 Temporary Redirect","425 Too Early","429 Too Many Requests","401 Unauthorized","451 Unavailable For Legal Reasons","422 Unprocessable Entity","415 Unsupported Media Type","426 Upgrade Required","414 URI Too Long","A parsed URL record.","","506 Variant Also Negotiates","If true, log in color. Otherwise, no color.","","","HTTP routes","","","","","","","","","","Return the serialization of this URL.","","","Return the authority of this URL as an ASCII string.","Server address","","","","","","","","","","","","","","","","Return whether this URL is a cannot-be-a-base URL, meaning …","The canonical reason for a given status code","Check api.toml for schema compliance errors","","","","","","","","","","","","","Compose the path to the application’s configuration file","Get the application configuration","Add routes from api.toml to the routefinder instance in …","","","","Serialize with Serde using the internal representation of …","","If this URL has a host and it is a domain name (not an IP …","","","","","","","","","","","","","","","","","","","","Return this URL’s fragment identifier, if any.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Convert a directory name as std::path::Path into an URL in …","Convert a file name as std::path::Path into an URL in the …","","","Get the path to api.toml","","","","Return whether the URL has an ‘authority’, which can …","Equivalent to url.host().is_some().","","","","","","Return a JSON expression with status 200 indicating the …","Return the parsed representation of the host for this URL. …","Return the string representation of the host (domain or IP …","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","Return the serialization of this URL.","","Returns true if the status code is the 4xx range.","Returns true if the status code is 1xx range.","Returns true if the status code is the 3xx range.","Returns true if the status code is the 5xx range.","Return whether the URL is special (has a special scheme)","Returns true if the status code is the 2xx range.","Parse a string as an URL, with this URL as the base URL.","Load the web API or panic","Creates a relative URL if possible, with this URL as the …","Interfaces for methods of accessing to state.","Support for routes using the Prometheus metrics format.","","Return a default ParseOptions that can fully configure the …","","Return the origin of this URL (…","Parse an absolute URL from a string.","Parse an absolute URL from a string and add params to its …","","Return the password for this URL, if any, as a …","Return the path for this URL, as a percent-encoded ASCII …","Unless this URL is cannot-be-a-base, return an iterator of …","Return an object with methods to manipulate this URL’s …","Return the port number for this URL, if any.","Return the port number for this URL, or the default port …","Return this URL’s query string, if any, as a …","Parse the URL’s query string, if any, as …","Manipulate this URL’s query string, viewed as a sequence …","","","","","Return the scheme of this URL, lower-cased, as an ASCII …","","","Serialize with Serde using the internal representation of …","Change this URL’s fragment identifier.","Change this URL’s host.","Change this URL’s host to the given IP address.","Change this URL’s password.","Change this URL’s path.","Change this URL’s port number.","Change this URL’s query string.","Change this URL’s scheme.","Change this URL’s username.","An interface for asynchronous communication with clients, …","Resolve a URL’s host and port number to SocketAddr.","Assuming the URL is in the file scheme or similar, convert …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return the username for this URL (typically the empty …","","","","","","","","Wait for the server to respond to a connection request","","A description of an API.","An error encountered when parsing or constructing an Api.","Metadata used for describing and documenting an API.","","Version information about an API.","","","","","","","","","","Iterator for routes_by_path.","","The version of this API.","","Register a handler for a route.","","","","","","","","","","","","","","","","","","","","Register a handler for a DELETE route.","","The description of this API from the specification.","A description of this API.","","","Compose an HTML page documenting all the routes in this …","","","","","","","","","","The version of the Tide Disco API specification format.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Create an Api by reading a TOML specification from a file.","Register a handler for a GET route.","The heading preceding documentation of a route description.","The heading for documentation of a route.","The heading preceding documentation of route parameters.","The heading preceding documentation of all routes in this …","Check the health status of a server with the given state.","HTML to be appended to automatically generated …","HTML to be prepended to automatically generated …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","Create a new Api which is just like this one, except has a …","Register a handler for a METRICS route.","The name of this API.","Parse an API from a TOML specification.","","Documentation to insert in the parameters section of a …","HTML formatting an entry in a table documenting the …","HTML closing a table documenting the parameters of a route.","HTML preceding the contents of a table documenting the …","Register a handler for a POST route.","Register a handler for a PUT route.","HTML formatting the path of a route.","Iterate over groups of routes with the same path.","","","Register a handler for a SOCKET route.","","The format version of the TOML specification used to load …","Register a uni-directional handler for a SOCKET route.","","","","","","","","","","","","","","","","","","","","Get the version of this API.","","","","","","Set the health check handler for this API.","Serve the contents of dir at the URL /public/{{NAME}}.","Set the API version.","","","","","","","","","A tide-disco server application.","An error encountered while building an App.","The health status of an application.","Version information about an application.","The Listener trait represents an implementation of http …","What listener are we converting into?","","","ToListener represents any type that can be converted into a","Start accepting incoming connections. This method must be …","The version of this application.","","","Bind the listener. This starts the listening process by …","","","","","","","","","","","","","","","","","","","","","","","The version of the Tide Disco server framework.","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Check the health of each registered module in response to …","Expose information about the connection. This should …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Create and register an API module.","Check the health of the named module.","The status of each registered module.","The version of each module registered with this …","Register an API module.","","","Serve the App asynchronously.","","","The status of the overall application.","Transform self into a Listener. Unless self is already …","","","","","","","","","","","","","","","","","","","","Get the version of this application.","","","","","","Create a new App with a given state.","Set the application version.","","Errors which can be serialized in a response body.","The simplest possible implementation of Error.","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","A response to a healthcheck endpoint.","Common health statuses of an application.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","The status of this health check.","","","","","","","","","","","A state which allows read access.","","The type of state which this type allows a caller to read.","A state which allows exclusive, write access.","","","","","","","The HTTP DELETE method.","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","The HTTP GET method.","Calls U::from(self).","Calls U::from(self).","Check if a method is a standard HTTP method.","Check if a request method implies mutable access to the …","The Tide Disco METRICS method.","The HTTP POST method.","The HTTP PUT method.","Do an operation with immutable access to the state.","The Tide Disco SOCKET method.","","","","","","","","","","","Do an operation with mutable access to the state.","","","","","","","","","","","","","","","","","","","","","","","Parameters passed to a route handler.","","","","","","The Accept header of this request.","","","","","","","","Get the value of a named parameter and convert it to a …","Deserialize the body of a request.","","","Get the value of a named parameter and convert it to a bool…","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","The headers of the incoming request.","Get the value of a named parameter and convert it to an …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","The Method used to dispatch the request.","","Parse a parameter from a Request.","Get the value of a named optional parameter and convert it …","Get the value of a named optional parameter and convert it …","Get the value of a named optional parameter and convert it …","Get the value of a named optional parameter.","Get the value of a named optional parameter and convert it …","Get the value of a named optional parameter and convert it …","Get the value of a named parameter.","","","","Get the remote address for this request.","","","","Get the value of a named parameter and convert it to a …","Get the value of a named parameter and convert it to …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","All the information we need to parse, typecheck, and …","An error returned by a route handler.","","","","","","","","","","","","","","","","","","","","Compose an HTML fragment documenting all the variations on …","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Whether a non-default handler has been bound to this route.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Create a new route with a modified error type.","The HTTP method of the route.","The name of the route.","Parse a Route from a TOML specification.","Get all formal parameters.","Iterate over route patterns.","","","","","","","","","","","","","","","","","","","","","","","","","","A connection facilitating bi-directional, asynchronous …","","","","An error returned by a socket handler.","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","",""],"i":[8,0,0,0,0,130,5,8,8,130,12,8,8,8,130,0,0,8,0,8,8,130,8,8,8,8,0,12,0,8,8,8,8,130,12,8,8,12,8,8,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,8,0,0,0,0,8,8,8,0,0,8,0,8,5,0,5,130,8,130,12,8,8,8,8,8,8,8,8,8,0,0,8,27,4,0,27,4,0,0,40,10,4,3,4,5,3,27,27,3,27,4,3,27,4,5,10,12,8,3,27,4,5,10,12,8,3,8,0,3,5,10,12,8,3,5,10,12,8,3,3,0,0,0,3,5,8,3,4,3,3,8,8,3,3,3,8,8,8,0,3,3,27,4,5,5,12,8,8,3,3,27,4,5,10,12,8,27,27,3,3,3,12,0,3,8,27,3,3,3,8,40,10,0,0,3,3,0,3,3,3,3,0,3,27,4,5,10,12,8,3,3,3,3,12,8,8,8,8,3,8,3,0,3,0,0,12,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,40,10,3,3,8,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,5,10,12,8,3,5,8,3,3,27,4,5,10,12,12,8,8,3,27,4,5,10,12,8,3,27,4,5,10,12,8,27,27,3,3,27,4,5,10,12,8,0,73,0,0,0,73,0,73,73,73,73,73,73,73,73,73,0,73,77,73,72,73,85,73,77,78,72,85,73,77,78,72,73,73,77,78,73,77,78,78,72,73,72,78,77,78,72,77,77,77,77,73,73,77,78,72,78,85,73,77,78,72,72,72,78,78,78,78,72,78,78,72,85,73,77,78,72,85,72,72,72,72,78,72,85,78,78,78,78,72,72,78,72,77,78,72,73,77,72,73,77,78,73,85,73,77,78,72,85,73,77,78,72,85,73,77,78,72,72,85,73,77,78,72,72,72,72,131,131,132,133,133,134,135,92,0,0,0,0,0,102,0,92,0,136,95,92,92,136,98,96,92,94,95,98,96,92,94,95,92,92,94,95,92,94,95,96,96,92,94,95,95,96,94,95,94,94,94,95,95,95,92,92,94,95,98,96,92,94,95,98,136,98,96,92,94,95,98,98,94,95,98,94,95,98,92,94,94,102,92,94,95,92,98,96,92,94,95,98,96,92,94,95,98,96,92,94,95,98,98,96,92,94,95,98,98,137,0,0,103,103,103,103,101,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,101,101,101,101,101,101,103,101,103,103,103,101,103,103,103,103,103,103,103,103,107,0,0,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,138,107,107,107,107,107,107,108,0,108,0,0,108,81,0,139,108,139,108,108,108,108,108,108,108,108,108,108,139,108,108,108,108,139,108,108,108,108,108,108,81,108,108,108,139,108,139,108,139,108,139,108,79,140,0,140,105,112,118,112,118,105,105,112,118,105,105,105,112,118,105,0,0,0,0,0,105,105,112,118,105,82,112,112,105,112,112,112,105,82,82,82,82,82,105,82,112,118,119,105,82,112,118,119,105,105,82,112,118,119,105,82,112,118,119,105,105,118,112,118,112,112,112,118,118,118,105,105,82,112,118,118,119,105,82,112,118,119,118,82,82,105,82,112,118,119,82,119,112,82,82,82,82,82,82,82,112,119,112,82,105,118,105,82,82,105,82,112,118,119,105,118,105,82,112,118,118,119,105,82,112,118,119,105,82,112,118,119,105,82,112,118,119,141,142,141,143,142,144,145,146,147,145,143,106,106,106,121,106,121,121,121,121,106,0,121,121,121,121,106,0,0,121,0,106,121,106,121,121,106,148,83,121,106,148,83,121,121,121,121,121,83,106,83,121,121,106,106,148,83,121,83,106,148,83,121,106,83,83,83,83,83,83,121,106,121,106,121,106,148,83,121,106,148,83,121,106,148,83,121,106,148,83,121,149,104,104,104,0,104,104,104,0,104,104,123,104,123,104,104,123,104,104,123,104,104,104,104,104,123,104,123,104,123,123,123,123,123,104,104,123,104,123,104,123,123,104,123,104,150,150],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,1],2],0,0,0,[3,1],[4,1],[5,1],[3,1],[6,6],[6,6],[3,1],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[3,7],[8,1],[9,7],[3,3],[5,5],[[[10,[-1]]],[[10,[-1]]],11],[12,12],[8,8],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[3,3],14],[[-1,-2],14,[],[]],[[1,1],2],[[1,1,[15,[[13,[1,1]]]]],[[18,[16,17]]]],[9,[[21,[[20,[19]]]]]],[-1,[[18,[3]]],22],[-1,[[18,[5]]],22],[-1,[[18,[8]]],22],[-1,[[18,[3]]],22],0,[3,[[23,[1]]]],[[3,3],7],[[8,24],7],[[8,8],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],0,[[3,25],[[18,[13,26]]]],[[3,25],[[18,[13,26]]]],[[27,25],28],[[4,25],28],[[5,25],28],[[5,25],[[18,[13,26]]]],[[12,25],28],[[8,25],[[18,[13,26]]]],[[8,25],[[18,[13,26]]]],[3,[[23,[1]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[29,[[18,[27,30]]]],[29,[[18,[27,30]]]],[-1,[[18,[3,13]]],[[32,[31]]]],[-1,[[18,[3,13]]],[[32,[31]]]],[1,[[18,[3,33]]]],[1,[[18,[12]]]],[1,2],[[-1,-2],34,[35,36],37],[[-1,-2],34,[35,36],37],[[],[[23,[38]]]],[3,7],[3,7],[[3,-1],13,39],[[8,-1],13,39],0,0,0,[[[41,[40]]],[[18,[42,43]]]],[3,[[23,[[44,[1]]]]]],[3,[[23,[1]]]],0,[[3,45],1],[[3,[47,[46]]],1],[[3,[48,[46]]],1],[[3,[49,[46]]],1],[7,13],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[3,[[18,[[50,[13]],51]]]],[3,[[18,[[50,[13]],51]]]],[-1,[[53,[52]]],[]],[3,52],[12,7],[8,7],[8,7],[8,7],[8,7],[3,7],[8,7],[[3,1],[[18,[3,33]]]],[31,9],[[3,3],[[23,[52]]]],0,0,[[1,12],12],[[],54],[1,2],[3,55],[1,[[18,[3,33]]]],[[1,-1],[[18,[3,33]]],56],[[3,3],[[23,[14]]]],[3,[[23,[1]]]],[3,1],[3,[[23,[[58,[57]]]]]],[3,[[18,[59,13]]]],[3,[[23,[24]]]],[3,[[23,[24]]]],[3,[[23,[1]]]],[3,60],[3,[[62,[61]]]],0,0,0,0,[3,1],[[3,-1],18,63],[[8,-1],18,63],[[3,-1],18,63],[[3,[23,[1]]],13],[[3,[23,[1]]],[[18,[13,33]]]],[[3,64],[[18,[13,13]]]],[[3,[23,[1]]],[[18,[13,13]]]],[[3,1],13],[[3,[23,[24]]],[[18,[13,13]]]],[[3,[23,[1]]],13],[[3,1],[[18,[13,13]]]],[[3,1],[[18,[13,13]]]],0,[[3,-1],[[18,[[67,[65,66]],68]]],69],[3,[[18,[2,13]]]],[3,[[18,[68]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,52,[]],[-1,52,[]],[-1,52,[]],[-1,[[18,[-2]]],[],[]],[1,[[18,[3]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[1,[[18,[12]]]],[-1,[[18,[-2]]],[],[]],[24,[[18,[8]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[[27,29],[[18,[13,30]]]],[[27,29],[[18,[13,30]]]],[3,1],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[3,34,34],13],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,71,[]],[[[72,[-1,-2]],1,-3],[[18,[[72,[-1,-2]],73]]],[74,75],[],[74,75,69]],[73,[[23,[76]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[73,[[23,[71]]]],[73,73],[77,77],[78,78],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[],78],[[[72,[-1,-2]],1,-3],[[18,[[72,[-1,-2]],73]]],[74,75,79],[],[74,75,69]],[73,1],[[[72,[-1,-2]]],1,[],[]],0,[-1,[[18,[77]]],22],[-1,[[18,[78]]],22],[[[72,[-1,-2]]],80,[],[]],[[77,77],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[73,25],28],[[73,25],28],[[77,25],28],[[78,25],28],[[[72,[-1,-2]],25],28,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,[[18,[[72,[-2,-3]],73]]],[[32,[31]]],[],[]],[[[72,[-1,-2]],1,-3],[[18,[[72,[-1,-2]],73]]],[74,75,81],[],[74,75,69]],0,0,0,0,[[[72,[-1,-2]],82,-1],42,[],[]],0,0,[[[72,[-1,-2]],1],[[83,[-1,-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[72,[-1,-2]]],[],[],[]],[[[72,[-1,-2]]],[],[],[]],[[[72,[-1,-2]],-3],[[72,[-1,-4]]],[74,75],[74,75],[11,74,75,69],[]],[[[72,[-1,-2]],1,-3],[[18,[[72,[-1,-2]],73]]],[74,75,81],[],[74,75,69]],0,[-1,[[18,[[72,[-2,-3]],73]]],[[84,[9]]],[],[]],[[[85,[-1,-2]]],23,[],[]],0,0,0,0,[[[72,[-1,-2]],1,-3],[[18,[[72,[-1,-2]],73]]],[74,75,79],[],[74,75,69]],[[[72,[-1,-2]],1,-3],[[18,[[72,[-1,-2]],73]]],[74,75,79],[],[74,75,69]],0,[[[72,[-1,-2]]],[[0,[86]]],[],[]],[[77,-1],18,63],[[78,-1],18,63],[[[72,[-1,-2]],1,-3],[[18,[[72,[-1,-2]],73]]],[74,75],[74,87],[74,75,69]],[73,[[23,[71]]]],0,[[[72,[-1,-2]],1,-3],[[18,[[72,[-1,-2]],73]]],[74,75],[74,87],[74,75,69]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,52,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[[[72,[-1,-2]]],77,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[72,[-1,-2]],-3],[[72,[-1,-2]]],[74,75],[],[74,75,69]],[[[72,[-1,-2]],2],[[72,[-1,-2]]],[],[]],[[[72,[-1,-2]],88],[[72,[-1,-2]]],[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,[[91,[[90,[89,66]]]]],[]],0,[-1,71,[]],[92,[[23,[76]]]],[[-1,[93,[-2]]],[[91,[[90,[89,66]]]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[92,[[23,[71]]]],[92,92],[94,94],[95,95],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[[96,[-1,-3,-2]]],[],[74,75],[74,75],[[97,[-2]]]],[[[96,[-1,-3,-2]]],[],[74,75],[74,75],[[97,[-2]]]],[92,1],[-1,[[18,[94]]],22],[-1,[[18,[95]]],22],0,[[[96,[-1,-3,-2]]],13,[74,75],[74,75],[[97,[-2]]]],[[94,94],7],[[95,95],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[92,25],28],[[92,25],28],[[94,25],28],[[95,25],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[98,[-1,-2]],82,-1],94,[74,75],[]],[-1,[[67,[99,66]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[98,[-1,-3]],1,-4],[[18,[[96,[-1,-3,-2]],92]]],[74,75],[74,75],[[97,[-2]]],[[84,[9]]]],[[[98,[-1,-2]],82,-1,1],[[23,[42]]],[74,75],[]],0,0,[[[98,[-1,-3]],1,[72,[-1,-2]]],[[18,[[98,[-1,-3]],92]]],[74,75],[74,75],[[97,[-2]]]],[[94,-1],18,63],[[95,-1],18,63],[[[98,[-1,-2]],-3],[[100,[13]]],[74,75],101,[[102,[[21,[[98,[-1,-2]]]]]]]],[92,[[23,[71]]]],[94,8],0,[-1,[[18,[68]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,52,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[[[98,[-1,-2]]],95,[74,75],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[98,[-1,-2]]],[74,75],[]],[[[98,[-1,-2]],88],[[98,[-1,-2]]],[74,75],[]],0,0,0,[-1,71,[]],[103,[[23,[76]]]],[-1,-2,[],[]],[-1,-2,[],[]],[[8,52],-1,[]],[[8,52],103],[103,[[23,[71]]]],[103,103],[[-1,-2],13,[],[]],[103,1],[-1,[[18,[103]]],22],[[103,103],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[103,25],28],[[103,25],28],[-1,-1,[]],[[[104,[-1]]],103,87],[68,103],[105,103],[[[106,[-1]]],103,87],[17,103],[17,-1,[]],[68,-1,[]],[105,-1,[]],[[[106,[-1]]],-2,87,[]],[43,-1,[]],[[[104,[-1]]],-2,87,[]],[-1,-2,[],[]],[-1,43,[]],0,[[103,-1],18,63],[103,[[23,[71]]]],[-1,8,[]],[103,8],0,[-1,-2,[],[]],[-1,52,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,70,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[107,107],[[-1,-2],13,[],[]],[[],107],[-1,[[18,[107]]],22],[[107,107],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[107,25],28],[-1,-1,[]],[-1,-2,[],[]],[[107,-1],18,63],[-1,8,[]],[107,8],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,70,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[108,108],[[-1,-2],13,[],[]],[[],108],[[108,108],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[108,25],28],[[108,25],28],[-1,-1,[]],[109,108],[-1,-1,[]],[1,[[18,[108]]]],[[],108],[-1,-2,[],[]],[-1,-2,[],[]],[108,7],[108,7],[[],108],[[],108],[[],108],[[-1,-2],[[91,[[90,[89]]]]],[],[74,110]],[[],108],[-1,-2,[],[]],[-1,52,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,70,[]],[-1,70,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],[[91,[[90,[89]]]]],[],[74,110]],0,0,[-1,[[18,[52]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[82,[[18,[111,105]]]],[112,[[18,[-1,105]]],[[114,[113]]]],[112,[[18,[7,105]]]],[-1,71,[]],[112,[[18,[-1,105]]],[[114,[115]]]],[112,[[18,[1,105]]]],[112,[[18,[113,105]]]],[105,[[23,[76]]]],[[82,-1],[[18,[-2,105]]],[36,87],[[114,[113]]]],[82,[[18,[-1,105]]],116],[82,[[67,[117]]]],[82,[[18,[-1,105]]],116],[[82,-1],[[18,[7,105]]],[36,87]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[105,[[23,[71]]]],[105,105],[82,82],[112,112],[118,118],[119,119],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[105,1],[-1,[[18,[105]]],22],[-1,[[18,[118]]],22],[[112,112],7],[[118,118],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[105,25],28],[[105,25],28],[[82,25],28],[[112,25],28],[[118,25],[[18,[13,26]]]],[[118,25],28],[[119,25],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[1,[[18,[118]]]],[82,120],[[82,-1],[[18,[-2,105]]],[36,87],[[114,[115]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[82,108],0,[[[41,[-1]],119],[[18,[[23,[112]],105]]],[]],[[82,-1],[[18,[[23,[-2]],105]]],[36,87],[[114,[113]]]],[[82,-1],[[18,[[23,[7]],105]]],[36,87]],[[82,-1],[[18,[[23,[-2]],105]]],[36,87],[[114,[115]]]],[[82,-1],[[23,[112]]],[36,87]],[[82,-1],[[18,[[23,[1]],105]]],[36,87]],[[82,-1],[[18,[[23,[113]],105]]],[36,87]],[[82,-1],[[18,[112,105]]],[36,87]],[112,118],0,[[1,119],[[18,[112,105]]]],[82,[[23,[1]]]],[[105,-1],18,63],[[118,-1],18,63],[105,[[23,[71]]]],[[82,-1],[[18,[1,105]]],[36,87]],[[82,-1],[[18,[113,105]]],[36,87]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,52,[]],[-1,52,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[1,[[18,[118]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,71,[]],[121,[[23,[76]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[121,[[23,[71]]]],[121,121],[[-1,-2],13,[],[]],[121,1],[[[83,[-1,-2]]],80,[],[]],[[[106,[-1]],25],28,87],[[[83,[-1,-2]],25],28,[],[]],[[121,25],28],[[121,25],28],[-1,-1,[]],[105,[[106,[-1]]],[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[83,[-1,-2]]],7,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[106,[-1]],-2],[[106,[-3]]],[],69,[]],[[[83,[-1,-2]],-3],[[83,[-1,-4]]],[74,75],[74,75],[74,75,69],[]],[[[83,[-1,-2]]],108,[],[]],[[[83,[-1,-2]]],52,[],[]],[[52,9,[21,[78]]],[[18,[[83,[-1,-2]],121]]],[],[]],[[[83,[-1,-2]]],[[15,[119]]],[],[]],[[[83,[-1,-2]]],[[0,[86]]],[],[]],[121,[[23,[71]]]],[[[106,[-1]]],8,[]],[-1,-2,[],[]],[-1,52,[]],[-1,52,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[-1,70,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[104,[-1]]],122,[]],[[[123,[-1,-2,-3]]],13,36,[],[]],[[[104,[-1]],25],28,87],[[[104,[-1]],25],28,124],[-1,-1,[]],[51,[[104,[-1]]],[]],[-1,-1,[]],[105,[[104,[-1]]],[]],[125,[[104,[-1]]],[]],[126,[[104,[-1]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[104,[-1]],-2],[[104,[-3]]],[],69,[]],[[[91,[[123,[-1,-2,-3]]]],127],[[128,[[18,[13]]]]],[129,36],[],[]],[[[91,[[123,[-1,-2,-3]]]],127],[[128,[[18,[13]]]]],[129,36],[],[]],[[[91,[[123,[-1,-2,-3]]]],127],[[128,[23]]],36,116,[]],[[[91,[[123,[-1,-2,-3]]]],127],[[128,[[18,[13]]]]],[129,36],[],[]],[[[91,[[123,[-1,-2,-3]]]],-1],[[18,[13]]],[129,36],[],[]],[[[104,[-1]]],8,[]],[-1,52,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[[[91,[-1]],127],[[128,[[23,[18]]]]],[]],[-1,70,[]],[-1,70,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0],"c":[215],"p":[[15,"str"],[3,"PathBuf",942],[3,"Url",0],[4,"DiscoKey",0],[4,"HealthStatus",0],[3,"Command",943],[15,"bool"],[4,"StatusCode",0],[4,"Value",944],[3,"ServerState",0],[8,"Clone",945],[4,"UrlSegment",0],[15,"tuple"],[4,"Ordering",946],[15,"slice"],[3,"Config",947],[4,"ConfigError",948],[4,"Result",949],[15,"usize"],[3,"Router",950],[3,"Arc",951],[8,"Deserializer",952],[4,"Option",953],[15,"u16"],[3,"Formatter",954],[3,"Error",954],[3,"DiscoArgs",0],[6,"Result",954],[3,"ArgMatches",955],[6,"Error",956],[3,"Path",942],[8,"AsRef",957],[4,"ParseError",958],[15,"u64"],[8,"Hash",959],[8,"Sized",960],[8,"BuildHasher",959],[3,"Id",961],[8,"Hasher",959],[6,"AppServerState",0],[3,"Request",962],[3,"Response",963],[3,"Error",964],[4,"Host",965],[3,"RangeFull",966],[4,"Position",967],[3,"Range",966],[3,"RangeFrom",966],[3,"RangeTo",966],[3,"Request",968],[4,"Error",969],[3,"String",970],[4,"Resettable",971],[3,"ParseOptions",972],[4,"Origin",973],[8,"IntoIterator",974],[15,"char"],[3,"Split",975],[3,"PathSegmentsMut",976],[3,"Parse",977],[3,"UrlQuery",972],[3,"Serializer",977],[8,"Serializer",978],[4,"IpAddr",979],[4,"SocketAddr",980],[3,"Global",981],[3,"Vec",982],[3,"Error",983],[8,"Fn",984],[3,"TypeId",985],[8,"Error",986],[3,"Api",308],[4,"ApiError",308],[8,"Send",960],[8,"Sync",960],[3,"Backtrace",987],[3,"ApiVersion",308],[3,"ApiMetadata",308],[8,"WriteState",618],[6,"Html",0],[8,"ReadState",618],[3,"RequestParams",667],[3,"Route",815],[8,"Into",957],[3,"RoutesWithPath",308],[8,"Iterator",988],[8,"Display",954],[3,"Version",989],[8,"Future",990],[3,"Box",991],[3,"Pin",992],[4,"AppError",441],[3,"Server",993],[3,"AppHealth",441],[3,"AppVersion",441],[3,"Module",441],[8,"From",957],[3,"App",441],[3,"ListenInfo",994],[6,"Result",983],[8,"Error",544],[8,"ToListener",441],[3,"ServerError",544],[4,"SocketError",896],[4,"RequestError",667],[4,"RouteError",815],[4,"HealthStatus",589],[4,"Method",618],[4,"Method",995],[8,"FnOnce",984],[3,"Accept",996],[4,"RequestParamValue",667],[3,"TaggedBase64",997],[8,"TryFrom",957],[15,"u128"],[8,"DeserializeOwned",952],[15,"u8"],[4,"RequestParamType",667],[3,"RequestParam",667],[3,"Headers",998],[4,"RouteParseError",815],[4,"CloseCode",999],[3,"Connection",896],[8,"Debug",954],[6,"Error",1000],[3,"Error",1001],[3,"Context",1002],[4,"Poll",1003],[8,"Serialize",978],[6,"AppState",0],[13,"IncorrectMethod",434],[13,"CannotReadToml",434],[13,"AmbiguousRoutes",434],[13,"Route",434],[13,"InvalidMetaTable",434],[8,"Listener",441],[13,"Api",543],[8,"HealthCheck",589],[3,"ParseMethodError",618],[8,"Metrics",664],[13,"IncorrectParamType",804],[13,"TagMismatch",804],[13,"IntegerOverflow",804],[13,"MissingParam",804],[13,"InvalidParam",804],[13,"TaggedBase64",804],[13,"Http",804],[3,"MapErr",815],[13,"IncorrectMethod",895],[13,"IncorrectMethod",940]]}\ +"tide_disco":{"doc":"Tide Disco is a web server framework with built-in …","t":"CCGGNNNNNDECNENGNNNCCCCCCRRDNCNNNNDEMNAMNAFMMNLLLLLLLMNLLLLLLLLLLLLLFLLLLLLLLLLFFFLLLNLLLLLALLLLLLLLLLLLLLLLLLLLFLLLLLMMAFLLCLLLLFLLLLLLLLLLLLLFLAALLFLLLLLLLLLLLLLAAMMLLLLLLLLLLLLALALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFNDEDNDNNNNNNNNNDNMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLMLLLLLLLMMMMLMMLLLLLLLLLLLMLLMMMMLLMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMNDEDDIQDNIKMLLKLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLKLLLLLLLMMLLLLLLMKLLLLLLLLLLLLLLLLLLLLLLLLLLLMIDLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLMLLKLMLLLLLLNIENNNNNLLLLLLLLLLLLLLKLLLLLLNENDINQILLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLKQIKNNNNNNNNNNNNNNNEDEEDNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMNNNNNNNNNNDNNNNNDENENNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMNNNDNNNENNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNNNNNNNNNNNNNENNNNNNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL","n":["Api","App","AppServerState","AppState","Array","Available","Boolean","Boolean","Datetime","DiscoArgs","DiscoKey","Error","Float","HealthStatus","Hexadecimal","Html","Integer","Integer","Literal","Method","RequestError","RequestParam","RequestParamType","RequestParamValue","RequestParams","SERVER_STARTUP_RETRIES","SERVER_STARTUP_SLEEP_MS","ServerState","Starting","StatusCode","Stopping","String","Table","TaggedBase64","Url","UrlSegment","ansi_color","ansi_color","api","api_toml","api_toml","app","app_api_path","app_state","app_state","app_toml","as_ref","as_ref","as_ref","as_str","augment_args","augment_args_for_update","authority","base_url","base_url","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cannot_be_a_base","check_api","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","compare","compose_config_path","compose_settings","configure_router","deserialize","deserialize","deserialize_internal","disco_toml","domain","eq","equivalent","equivalent","equivalent","error","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fragment","from","from","from","from","from","from","from_arg_matches","from_arg_matches_mut","from_directory_path","from_file_path","from_str","from_str","get_api_path","get_hash","group_id","has_authority","has_host","hash","health_status","health_status","healthcheck","healthcheck","host","host_str","http","index","index","index","index","init_logging","into","into","into","into","into","into","into_client_request","into_client_request","into_resettable","into_string","is_bound","is_special","join","load_api","make_relative","method","metrics","new","options","org_data_path","origin","parse","parse_with_params","partial_cmp","password","path","path_segments","path_segments_mut","port","port_or_known_default","query","query_pairs","query_pairs_mut","request","route","router","router","scheme","serialize","serialize_internal","set_fragment","set_host","set_ip_host","set_password","set_path","set_port","set_query","set_scheme","set_username","socket","socket_addrs","status","to_file_path","to_listener","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches_mut","username","vzip","vzip","vzip","vzip","vzip","vzip","wait_for_server","AmbiguousRoutes","Api","ApiError","ApiMetadata","ApiMustBeTable","ApiVersion","CannotReadToml","HandlerAlreadyRegistered","IncorrectMethod","InvalidFormatVersion","InvalidMetaTable","MissingFormatVersion","MissingRoutesTable","Route","RoutesMustBeTable","RoutesWithPath","UndefinedRoute","api_version","as_error_source","at","backtrace","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cause","clone","clone","clone","clone_into","clone_into","clone_into","default","delete","description","description","description","deserialize","deserialize","documentation","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","format_version","from","from","from","from","from","from_file","get","heading_description","heading_entry","heading_parameters","heading_routes","health","html_bottom","html_top","index","into","into","into","into","into","into_iter","into_iter","into_iter","map_err","metrics","name","new","next","parameter_none","parameter_row","parameter_table_close","parameter_table_open","post","put","route_path","routes_by_path","serialize","serialize","socket","source","spec_version","stream","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","version","vzip","vzip","vzip","vzip","vzip","with_health_check","with_public","with_version","actual","expected","reason","route1","route2","source","source","Api","App","AppError","AppHealth","AppVersion","Listener","Listener","Module","ModuleAlreadyExists","ToListener","accept","app_version","as_error_source","backtrace","bind","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cause","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref_mut","description","deserialize","deserialize","disco_version","drop","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","health","info","into","into","into","into","into","module","module_health","modules","modules","register_module","serialize","serialize","serve","source","status","status","to_listener","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","version","vzip","vzip","vzip","vzip","vzip","with_state","with_version","source","Error","ServerError","as_error_source","backtrace","borrow","borrow_mut","catch_all","catch_all","cause","clone","clone_into","description","deserialize","eq","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from","from","from_config_error","from_io_error","from_request_error","from_route_error","from_server_error","from_socket_error","into","into_tide_error","message","serialize","source","status","status","status","to_owned","to_string","try_from","try_into","type_id","vzip","Available","HealthCheck","HealthStatus","Initializing","ShuttingDown","TemporarilyUnavailable","Unavailabale","Unhealthy","borrow","borrow_mut","clone","clone_into","default","deserialize","eq","equivalent","equivalent","equivalent","fmt","from","into","serialize","status","status","to_owned","try_from","try_into","type_id","vzip","Http","Method","Metrics","ParseMethodError","ReadState","Socket","State","WriteState","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","delete","eq","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from_str","get","into","into","is_http","is_mutable","metrics","post","put","read","socket","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","write","Error","Metrics","export","Bincode","Boolean","Boolean","Hexadecimal","Hexadecimal","Http","IncorrectParamType","Integer","Integer","IntegerOverflow","InvalidParam","Json","Literal","Literal","MissingParam","RequestError","RequestParam","RequestParamType","RequestParamValue","RequestParams","TagMismatch","TaggedBase64","TaggedBase64","TaggedBase64","UnsupportedContentType","accept","as_blob","as_boolean","as_error_source","as_integer","as_string","as_tagged_base64","backtrace","blob_param","body_auto","body_bytes","body_json","boolean_param","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cause","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","description","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_str","headers","integer_param","into","into","into","into","into","method","name","new","opt_blob_param","opt_boolean_param","opt_integer_param","opt_param","opt_string_param","opt_tagged_base64_param","param","param_type","param_type","parse","remote","serialize","serialize","source","string_param","tagged_base64_param","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","actual","actual","expected","expected","expected","name","param_type","reason","reason","reason","value","AppSpecific","Bincode","ExportMetrics","IncorrectDocType","IncorrectMethod","IncorrectParamType","IncorrectPathType","InvalidMethod","InvalidTypeExpression","Json","MapErr","MethodMustBeString","MissingPath","MissingPathArray","PathElementError","Request","Route","RouteError","RouteMustBeTable","RouteParseError","Tide","UnrecognizedType","UnsupportedContentType","as_error_source","backtrace","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cause","clone","clone_into","description","documentation","fmt","fmt","fmt","fmt","from","from","from","from","from","has_handler","into","into","into","into","map_app_specific","map_err","method","name","new","params","patterns","source","status","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","expected","AppSpecific","Bincode","Closed","Connection","IncorrectMethod","Json","Request","SocketError","UnsupportedMessageType","WebSockets","borrow","borrow","borrow_mut","borrow_mut","code","drop","fmt","fmt","from","from","from","from","from","from","into","into","into_stream","map_app_specific","poll_close","poll_flush","poll_next","poll_ready","start_send","status","to_string","try_from","try_from","try_into","try_into","try_poll_next","type_id","type_id","vzip","vzip","actual","expected","Accepted","BadGateway","BadRequest","Conflict","Continue","Created","EarlyHints","ExpectationFailed","FailedDependency","Forbidden","Found","GatewayTimeout","Gone","HttpVersionNotSupported","ImATeapot","ImUsed","InsufficientStorage","InternalServerError","LengthRequired","Locked","LoopDetected","MethodNotAllowed","MisdirectedRequest","MovedPermanently","MultiStatus","MultipleChoice","NetworkAuthenticationRequired","NoContent","NonAuthoritativeInformation","NotAcceptable","NotExtended","NotFound","NotImplemented","NotModified","Ok","OutOfRangeError","PartialContent","PayloadTooLarge","PaymentRequired","PermanentRedirect","PreconditionFailed","PreconditionRequired","ProxyAuthenticationRequired","RequestHeaderFieldsTooLarge","RequestTimeout","RequestedRangeNotSatisfiable","ResetContent","SeeOther","ServiceUnavailable","StatusCode","SwitchingProtocols","TemporaryRedirect","TooEarly","TooManyRequests","Unauthorized","UnavailableForLegalReasons","UnprocessableEntity","UnsupportedMediaType","UpgradeRequired","UriTooLong","VariantAlsoNegotiates","as_error_source","backtrace","borrow","borrow","borrow_mut","borrow_mut","canonical_reason","cause","clone","clone","clone_into","clone_into","description","deserialize","eq","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from_i64","from_u64","get_hash","hash","into","into","is_client_error","is_informational","is_redirection","is_server_error","is_success","serialize","source","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip"],"q":[[0,"tide_disco"],[220,"tide_disco::api"],[346,"tide_disco::api::ApiError"],[353,"tide_disco::app"],[455,"tide_disco::app::AppError"],[456,"tide_disco::error"],[501,"tide_disco::healthcheck"],[530,"tide_disco::method"],[576,"tide_disco::metrics"],[579,"tide_disco::request"],[716,"tide_disco::request::RequestError"],[727,"tide_disco::route"],[807,"tide_disco::route::RouteError"],[808,"tide_disco::socket"],[852,"tide_disco::socket::SocketError"],[854,"tide_disco::status"],[967,"std::path"],[968,"clap_builder::builder::command"],[969,"toml::value"],[970,"core::clone"],[971,"core::cmp"],[972,"config::config"],[973,"config::error"],[974,"core::result"],[975,"routefinder::router"],[976,"alloc::sync"],[977,"serde::de"],[978,"core::option"],[979,"core::fmt"],[980,"core::fmt"],[981,"clap_builder"],[982,"std::path"],[983,"url::parser"],[984,"core::hash"],[985,"core::marker"],[986,"core::hash"],[987,"core::hash"],[988,"tide::response"],[989,"http_types::error"],[990,"url::host"],[991,"url::slicing"],[992,"core::ops::range"],[993,"core::ops::range"],[994,"tungstenite::error"],[995,"alloc::string"],[996,"clap_builder::builder::resettable"],[997,"url"],[998,"url::origin"],[999,"core::iter::traits::collect"],[1000,"core::str::iter"],[1001,"url::path_segments"],[1002,"form_urlencoded"],[1003,"url"],[1004,"core::net::ip_addr"],[1005,"core::net::socket_addr"],[1006,"alloc::alloc"],[1007,"alloc::vec"],[1008,"std::io::error"],[1009,"core::ops::function"],[1010,"core::any"],[1011,"core::error"],[1012,"core::marker"],[1013,"core::convert"],[1014,"core::fmt"],[1015,"core::future::future"],[1016,"alloc::boxed"],[1017,"core::pin"],[1018,"tide::server"],[1019,"core::convert"],[1020,"std::io::error"],[1021,"core::ops::function"],[1022,"tagged_base64"],[1023,"core::convert"],[1024,"tungstenite::protocol::frame::coding"],[1025,"core::fmt"],[1026,"bincode::error"],[1027,"core::task::wake"],[1028,"core::task::poll"],[1029,"serde::ser"]],"d":["","","","","Represents a TOML array","","Represents a TOML boolean","","Represents a TOML datetime","","Configuration keys for Tide Disco settings","","Represents a TOML float","","","","Represents a TOML integer","","","","","","","","","Number of times to poll before failing","Number of milliseconds to sleep between attempts","","","","","Represents a TOML string","Represents a TOML table","","A parsed URL record.","","If true, log in color. Otherwise, no color.","","","HTTP routes","","","","","","","","","","Return the serialization of this URL.","","","Return the authority of this URL as an ASCII string.","Server address","","","","","","","","","","","","","","Return whether this URL is a cannot-be-a-base URL, meaning …","Check api.toml for schema compliance errors","","","","","","","","","","","Compose the path to the application’s configuration file","Get the application configuration","Add routes from api.toml to the routefinder instance in …","","","Serialize with Serde using the internal representation of …","","If this URL has a host and it is a domain name (not an IP …","","","","","","","","","","","","","Return this URL’s fragment identifier, if any.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Convert a directory name as std::path::Path into an URL in …","Convert a file name as std::path::Path into an URL in the …","","","Get the path to api.toml","","","Return whether the URL has an ‘authority’, which can …","Equivalent to url.host().is_some().","","","","","Return a JSON expression with status 200 indicating the …","Return the parsed representation of the host for this URL. …","Return the string representation of the host (domain or IP …","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","Return the serialization of this URL.","","Return whether the URL is special (has a special scheme)","Parse a string as an URL, with this URL as the base URL.","Load the web API or panic","Creates a relative URL if possible, with this URL as the …","Interfaces for methods of accessing to state.","Support for routes using the Prometheus metrics format.","","Return a default ParseOptions that can fully configure the …","","Return the origin of this URL (…","Parse an absolute URL from a string.","Parse an absolute URL from a string and add params to its …","","Return the password for this URL, if any, as a …","Return the path for this URL, as a percent-encoded ASCII …","Unless this URL is cannot-be-a-base, return an iterator of …","Return an object with methods to manipulate this URL’s …","Return the port number for this URL, if any.","Return the port number for this URL, or the default port …","Return this URL’s query string, if any, as a …","Parse the URL’s query string, if any, as …","Manipulate this URL’s query string, viewed as a sequence …","","","","","Return the scheme of this URL, lower-cased, as an ASCII …","","Serialize with Serde using the internal representation of …","Change this URL’s fragment identifier.","Change this URL’s host.","Change this URL’s host to the given IP address.","Change this URL’s password.","Change this URL’s path.","Change this URL’s port number.","Change this URL’s query string.","Change this URL’s scheme.","Change this URL’s username.","An interface for asynchronous communication with clients, …","Resolve a URL’s host and port number to SocketAddr.","","Assuming the URL is in the file scheme or similar, convert …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return the username for this URL (typically the empty …","","","","","","","Wait for the server to respond to a connection request","","A description of an API.","An error encountered when parsing or constructing an Api.","Metadata used for describing and documenting an API.","","Version information about an API.","","","","","","","","","","Iterator for routes_by_path.","","The version of this API.","","Register a handler for a route.","","","","","","","","","","","","","","","","","","","","Register a handler for a DELETE route.","","The description of this API from the specification.","A description of this API.","","","Compose an HTML page documenting all the routes in this …","","","","","","","","","","The version of the Tide Disco API specification format.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Create an Api by reading a TOML specification from a file.","Register a handler for a GET route.","The heading preceding documentation of a route description.","The heading for documentation of a route.","The heading preceding documentation of route parameters.","The heading preceding documentation of all routes in this …","Check the health status of a server with the given state.","HTML to be appended to automatically generated …","HTML to be prepended to automatically generated …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","Create a new Api which is just like this one, except has a …","Register a handler for a METRICS route.","The name of this API.","Parse an API from a TOML specification.","","Documentation to insert in the parameters section of a …","HTML formatting an entry in a table documenting the …","HTML closing a table documenting the parameters of a route.","HTML preceding the contents of a table documenting the …","Register a handler for a POST route.","Register a handler for a PUT route.","HTML formatting the path of a route.","Iterate over groups of routes with the same path.","","","Register a handler for a SOCKET route.","","The format version of the TOML specification used to load …","Register a uni-directional handler for a SOCKET route.","","","","","","","","","","","","","","","","","","","","Get the version of this API.","","","","","","Set the health check handler for this API.","Serve the contents of dir at the URL /public/{{NAME}}.","Set the API version.","","","","","","","","","A tide-disco server application.","An error encountered while building an App.","The health status of an application.","Version information about an application.","The Listener trait represents an implementation of http …","What listener are we converting into?","","","ToListener represents any type that can be converted into a","Start accepting incoming connections. This method must be …","The version of this application.","","","Bind the listener. This starts the listening process by …","","","","","","","","","","","","","","","","","","","","","","","The version of the Tide Disco server framework.","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Check the health of each registered module in response to …","Expose information about the connection. This should …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Create and register an API module.","Check the health of the named module.","The status of each registered module.","The version of each module registered with this …","Register an API module.","","","Serve the App asynchronously.","","","The status of the overall application.","Transform self into a Listener. Unless self is already …","","","","","","","","","","","","","","","","","","","","Get the version of this application.","","","","","","Create a new App with a given state.","Set the application version.","","Errors which can be serialized in a response body.","The simplest possible implementation of Error.","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","A response to a healthcheck endpoint.","Common health statuses of an application.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","The status of this health check.","","","","","","","","","","","A state which allows read access.","","The type of state which this type allows a caller to read.","A state which allows exclusive, write access.","","","","","","","The HTTP DELETE method.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","The HTTP GET method.","Calls U::from(self).","Calls U::from(self).","Check if a method is a standard HTTP method.","Check if a request method implies mutable access to the …","The Tide Disco METRICS method.","The HTTP POST method.","The HTTP PUT method.","Do an operation with immutable access to the state.","The Tide Disco SOCKET method.","","","","","","","","","","","Do an operation with mutable access to the state.","","","","","","","","","","","","","","","","","","","","","","","Parameters passed to a route handler.","","","","","","The Accept header of this request.","","","","","","","","Get the value of a named parameter and convert it to a …","Deserialize the body of a request.","","","Get the value of a named parameter and convert it to a bool…","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","The headers of the incoming request.","Get the value of a named parameter and convert it to an …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","The Method used to dispatch the request.","","Parse a parameter from a Request.","Get the value of a named optional parameter and convert it …","Get the value of a named optional parameter and convert it …","Get the value of a named optional parameter and convert it …","Get the value of a named optional parameter.","Get the value of a named optional parameter and convert it …","Get the value of a named optional parameter and convert it …","Get the value of a named parameter.","","","","Get the remote address for this request.","","","","Get the value of a named parameter and convert it to a …","Get the value of a named parameter and convert it to …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","All the information we need to parse, typecheck, and …","An error returned by a route handler.","","","","","","","","","","","","","","","","","","","","Compose an HTML fragment documenting all the variations on …","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Whether a non-default handler has been bound to this route.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Create a new route with a modified error type.","The HTTP method of the route.","The name of the route.","Parse a Route from a TOML specification.","Get all formal parameters.","Iterate over route patterns.","","","","","","","","","","","","","","","","","","","","","","","","","","A connection facilitating bi-directional, asynchronous …","","","","An error returned by a socket handler.","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","202 Accepted","502 Bad Gateway","400 Bad Request","409 Conflict","100 Continue","201 Created","103 Early Hints","417 Expectation Failed","424 Failed Dependency","403 Forbidden","302 Found","504 Gateway Timeout","410 Gone","505 HTTP Version Not Supported","418 I’m a teapot","226 Im Used","507 Insufficient Storage","500 Internal Server Error","411 Length Required","423 Locked","508 Loop Detected","405 Method Not Allowed","421 Misdirected Request","301 Moved Permanently","207 Multi-Status","300 Multiple Choice","511 Network Authentication Required","204 No Content","203 Non Authoritative Information","406 Not Acceptable","510 Not Extended","404 Not Found","501 Not Implemented","304 Not Modified","200 Ok","","206 Partial Content","413 Payload Too Large","402 Payment Required","308 Permanent Redirect","412 Precondition Failed","428 Precondition Required","407 Proxy Authentication Required","431 Request Header Fields Too Large","408 Request Timeout","416 Requested Range Not Satisfiable","205 Reset Content","303 See Other","503 Service Unavailable","Serializable HTTP status code.","101 Switching Protocols","307 Temporary Redirect","425 Too Early","429 Too Many Requests","401 Unauthorized","451 Unavailable For Legal Reasons","422 Unprocessable Entity","415 Unsupported Media Type","426 Upgrade Required","414 URI Too Long","506 Variant Also Negotiates","","","","","","","The canonical reason for a given status code","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Returns true if the status code is the 4xx range.","Returns true if the status code is 1xx range.","Returns true if the status code is the 3xx range.","Returns true if the status code is the 5xx range.","Returns true if the status code is the 2xx range.","","","","","","","","","","","","","","",""],"i":[0,0,0,0,133,5,133,11,133,0,0,0,133,0,11,0,133,11,11,0,0,0,0,0,0,0,0,0,5,0,5,133,133,11,0,0,25,4,0,25,4,0,0,38,9,4,3,4,5,3,25,25,3,25,4,3,25,4,5,9,11,3,25,4,5,9,11,3,0,3,5,9,11,3,5,9,11,3,3,0,0,0,3,5,3,4,3,3,3,3,3,0,3,3,25,4,5,5,11,3,3,25,4,5,9,11,25,25,3,3,3,11,0,3,25,3,3,3,38,9,0,0,3,3,0,3,3,3,3,0,3,25,4,5,9,11,3,3,3,3,11,3,3,0,3,0,0,11,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,38,9,3,3,3,3,3,3,3,3,3,3,3,3,0,3,0,3,3,3,5,9,11,3,5,3,3,25,4,5,9,11,11,3,25,4,5,9,11,3,25,4,5,9,11,25,25,3,3,25,4,5,9,11,0,72,0,0,0,72,0,72,72,72,72,72,72,72,72,72,0,72,76,72,71,72,84,72,76,77,71,84,72,76,77,71,72,72,76,77,72,76,77,77,71,72,71,77,76,77,71,76,76,76,76,72,72,76,77,71,77,84,72,76,77,71,71,71,77,77,77,77,71,77,77,71,84,72,76,77,71,84,71,71,71,71,77,71,84,77,77,77,77,71,71,77,71,76,77,71,72,76,71,72,76,77,72,84,72,76,77,71,84,72,76,77,71,84,72,76,77,71,71,84,72,76,77,71,71,71,71,134,134,135,136,136,137,138,91,0,0,0,0,0,101,0,91,0,139,94,91,91,139,97,95,91,93,94,97,95,91,93,94,91,91,93,94,91,93,94,95,95,91,93,94,94,95,93,94,93,93,93,94,94,94,91,91,93,94,97,95,91,93,94,97,139,97,95,91,93,94,97,97,93,94,97,93,94,97,91,93,93,101,91,93,94,91,97,95,91,93,94,97,95,91,93,94,97,95,91,93,94,97,97,95,91,93,94,97,97,140,0,0,103,103,103,103,100,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,100,100,100,100,100,100,103,100,103,103,103,100,103,103,103,103,103,103,103,103,107,0,0,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,141,107,107,107,107,107,107,108,0,108,0,0,108,80,0,142,108,142,108,108,108,108,108,108,108,108,108,108,142,108,108,108,108,142,108,108,108,108,108,108,80,108,108,108,142,108,142,108,142,108,142,108,78,143,0,143,104,112,118,112,118,104,104,112,118,104,104,104,112,118,104,0,0,0,0,0,104,104,112,118,104,81,112,112,104,112,112,112,104,81,81,81,81,81,104,81,112,118,119,104,81,112,118,119,104,104,81,112,118,119,104,81,112,118,119,104,104,118,112,118,112,112,112,118,118,118,104,104,81,112,118,118,119,104,81,112,118,119,118,81,81,104,81,112,118,119,81,119,112,81,81,81,81,81,81,81,112,119,112,81,104,118,104,81,81,104,81,112,118,119,104,118,104,81,112,118,118,119,104,81,112,118,119,104,81,112,118,119,104,81,112,118,119,144,145,144,146,145,147,148,149,150,148,146,106,106,106,121,106,121,121,121,121,106,0,121,121,121,121,106,0,0,121,0,106,121,106,121,121,106,151,82,121,106,151,82,121,121,121,121,121,82,106,82,121,121,106,106,151,82,121,82,106,151,82,121,106,82,82,82,82,82,82,121,106,121,106,121,106,151,82,121,106,151,82,121,106,151,82,121,106,151,82,121,152,105,105,105,0,105,105,105,0,105,105,123,105,123,105,105,123,105,105,123,105,105,105,105,105,123,105,123,105,123,123,123,123,123,105,105,123,105,123,105,123,123,105,123,105,153,153,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,102,102,102,102,102,102,102,102,102,102,102,102,102,0,102,102,102,102,102,102,102,102,102,102,102,130,130,102,130,102,130,102,130,102,130,102,130,130,102,102,102,102,102,102,102,102,130,130,102,102,130,102,102,102,102,102,130,102,102,102,102,102,102,130,102,130,102,130,102,102,130,102,130,102,130,102,130],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,1],2],0,0,0,[3,1],[4,1],[5,1],[3,1],[6,6],[6,6],[3,1],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[3,7],[8,7],[3,3],[5,5],[[[9,[-1]]],[[9,[-1]]],10],[11,11],[[-1,-2],12,[],[]],[[-1,-2],12,[],[]],[[-1,-2],12,[],[]],[[-1,-2],12,[],[]],[[3,3],13],[[-1,-2],13,[],[]],[[1,1],2],[[1,1,[14,[[12,[1,1]]]]],[[17,[15,16]]]],[8,[[20,[[19,[18]]]]]],[-1,[[17,[3]]],21],[-1,[[17,[5]]],21],[-1,[[17,[3]]],21],0,[3,[[22,[1]]]],[[3,3],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],0,[[3,23],[[17,[12,24]]]],[[3,23],[[17,[12,24]]]],[[25,23],26],[[4,23],26],[[5,23],[[17,[12,24]]]],[[5,23],26],[[11,23],26],[3,[[22,[1]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[27,[[17,[25,28]]]],[27,[[17,[25,28]]]],[-1,[[17,[3,12]]],[[30,[29]]]],[-1,[[17,[3,12]]],[[30,[29]]]],[1,[[17,[3,31]]]],[1,[[17,[11]]]],[1,2],[[-1,-2],32,[33,34],35],[[],[[22,[36]]]],[3,7],[3,7],[[3,-1],12,37],0,0,0,[[[39,[38]]],[[17,[40,41]]]],[3,[[22,[[42,[1]]]]]],[3,[[22,[1]]]],0,[[3,[44,[43]]],1],[[3,[45,[43]]],1],[[3,46],1],[[3,[47,[43]]],1],[7,12],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[3,[[17,[[48,[12]],49]]]],[3,[[17,[[48,[12]],49]]]],[-1,[[51,[50]]],[]],[3,50],[11,7],[3,7],[[3,1],[[17,[3,31]]]],[29,8],[[3,3],[[22,[50]]]],0,0,[[1,11],11],[[],52],[1,2],[3,53],[1,[[17,[3,31]]]],[[1,-1],[[17,[3,31]]],54],[[3,3],[[22,[13]]]],[3,[[22,[1]]]],[3,1],[3,[[22,[[56,[55]]]]]],[3,[[17,[57,12]]]],[3,[[22,[58]]]],[3,[[22,[58]]]],[3,[[22,[1]]]],[3,59],[3,[[61,[60]]]],0,0,0,0,[3,1],[[3,-1],17,62],[[3,-1],17,62],[[3,[22,[1]]],12],[[3,[22,[1]]],[[17,[12,31]]]],[[3,63],[[17,[12,12]]]],[[3,[22,[1]]],[[17,[12,12]]]],[[3,1],12],[[3,[22,[58]]],[[17,[12,12]]]],[[3,[22,[1]]],12],[[3,1],[[17,[12,12]]]],[[3,1],[[17,[12,12]]]],0,[[3,-1],[[17,[[66,[64,65]],67]]],68],0,[3,[[17,[2,12]]]],[3,[[17,[67]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,50,[]],[-1,50,[]],[-1,[[17,[-2]]],[],[]],[1,[[17,[3]]]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[1,[[17,[11]]]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[[25,27],[[17,[12,28]]]],[[25,27],[[17,[12,28]]]],[3,1],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[3,32,32],12],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,70,[]],[[[71,[-1,-2]],1,-3],[[17,[[71,[-1,-2]],72]]],[73,74],[],[73,74,68]],[72,[[22,[75]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[72,[[22,[70]]]],[72,72],[76,76],[77,77],[[-1,-2],12,[],[]],[[-1,-2],12,[],[]],[[-1,-2],12,[],[]],[[],77],[[[71,[-1,-2]],1,-3],[[17,[[71,[-1,-2]],72]]],[73,74,78],[],[73,74,68]],[72,1],[[[71,[-1,-2]]],1,[],[]],0,[-1,[[17,[76]]],21],[-1,[[17,[77]]],21],[[[71,[-1,-2]]],79,[],[]],[[76,76],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[72,23],26],[[72,23],26],[[76,23],26],[[77,23],26],[[[71,[-1,-2]],23],26,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,[[17,[[71,[-2,-3]],72]]],[[30,[29]]],[],[]],[[[71,[-1,-2]],1,-3],[[17,[[71,[-1,-2]],72]]],[73,74,80],[],[73,74,68]],0,0,0,0,[[[71,[-1,-2]],81,-1],40,[],[]],0,0,[[[71,[-1,-2]],1],[[82,[-1,-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[71,[-1,-2]]],[],[],[]],[[[71,[-1,-2]]],[],[],[]],[[[71,[-1,-2]],-3],[[71,[-1,-4]]],[73,74],[73,74],[10,73,74,68],[]],[[[71,[-1,-2]],1,-3],[[17,[[71,[-1,-2]],72]]],[73,74,80],[],[73,74,68]],0,[-1,[[17,[[71,[-2,-3]],72]]],[[83,[8]]],[],[]],[[[84,[-1,-2]]],22,[],[]],0,0,0,0,[[[71,[-1,-2]],1,-3],[[17,[[71,[-1,-2]],72]]],[73,74,78],[],[73,74,68]],[[[71,[-1,-2]],1,-3],[[17,[[71,[-1,-2]],72]]],[73,74,78],[],[73,74,68]],0,[[[71,[-1,-2]]],[[0,[85]]],[],[]],[[76,-1],17,62],[[77,-1],17,62],[[[71,[-1,-2]],1,-3],[[17,[[71,[-1,-2]],72]]],[73,74],[73,86],[73,74,68]],[72,[[22,[70]]]],0,[[[71,[-1,-2]],1,-3],[[17,[[71,[-1,-2]],72]]],[73,74],[73,86],[73,74,68]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,50,[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[[[71,[-1,-2]]],76,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[71,[-1,-2]],-3],[[71,[-1,-2]]],[73,74],[],[73,74,68]],[[[71,[-1,-2]],2],[[71,[-1,-2]]],[],[]],[[[71,[-1,-2]],87],[[71,[-1,-2]]],[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,[[90,[[89,[88,65]]]]],[]],0,[-1,70,[]],[91,[[22,[75]]]],[[-1,[92,[-2]]],[[90,[[89,[88,65]]]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[91,[[22,[70]]]],[91,91],[93,93],[94,94],[[-1,-2],12,[],[]],[[-1,-2],12,[],[]],[[-1,-2],12,[],[]],[[[95,[-1,-3,-2]]],[],[73,74],[73,74],[[96,[-2]]]],[[[95,[-1,-3,-2]]],[],[73,74],[73,74],[[96,[-2]]]],[91,1],[-1,[[17,[93]]],21],[-1,[[17,[94]]],21],0,[[[95,[-1,-3,-2]]],12,[73,74],[73,74],[[96,[-2]]]],[[93,93],7],[[94,94],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[91,23],26],[[91,23],26],[[93,23],26],[[94,23],26],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[97,[-1,-2]],81,-1],93,[73,74],[]],[-1,[[66,[98,65]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[97,[-1,-3]],1,-4],[[17,[[95,[-1,-3,-2]],91]]],[73,74],[73,74],[[96,[-2]]],[[83,[8]]]],[[[97,[-1,-2]],81,-1,1],[[22,[40]]],[73,74],[]],0,0,[[[97,[-1,-3]],1,[71,[-1,-2]]],[[17,[[97,[-1,-3]],91]]],[73,74],[73,74],[[96,[-2]]]],[[93,-1],17,62],[[94,-1],17,62],[[[97,[-1,-2]],-3],[[99,[12]]],[73,74],100,[[101,[[20,[[97,[-1,-2]]]]]]]],[91,[[22,[70]]]],[93,102],0,[-1,[[17,[67]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,50,[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[[[97,[-1,-2]]],94,[73,74],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[97,[-1,-2]]],[73,74],[]],[[[97,[-1,-2]],87],[[97,[-1,-2]]],[73,74],[]],0,0,0,[-1,70,[]],[103,[[22,[75]]]],[-1,-2,[],[]],[-1,-2,[],[]],[[102,50],-1,[]],[[102,50],103],[103,[[22,[70]]]],[103,103],[[-1,-2],12,[],[]],[103,1],[-1,[[17,[103]]],21],[[103,103],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[103,23],26],[[103,23],26],[-1,-1,[]],[104,103],[[[105,[-1]]],103,86],[[[106,[-1]]],103,86],[67,103],[16,103],[16,-1,[]],[67,-1,[]],[104,-1,[]],[[[106,[-1]]],-2,86,[]],[41,-1,[]],[[[105,[-1]]],-2,86,[]],[-1,-2,[],[]],[-1,41,[]],0,[[103,-1],17,62],[103,[[22,[70]]]],[-1,102,[]],[103,102],0,[-1,-2,[],[]],[-1,50,[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,69,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[107,107],[[-1,-2],12,[],[]],[[],107],[-1,[[17,[107]]],21],[[107,107],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[107,23],26],[-1,-1,[]],[-1,-2,[],[]],[[107,-1],17,62],[-1,102,[]],[107,102],[-1,-2,[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,69,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[108,108],[[-1,-2],12,[],[]],[[],108],[[108,108],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[108,23],26],[[108,23],26],[-1,-1,[]],[-1,-1,[]],[109,108],[1,[[17,[108]]]],[[],108],[-1,-2,[],[]],[-1,-2,[],[]],[108,7],[108,7],[[],108],[[],108],[[],108],[[-1,-2],[[90,[[89,[88]]]]],[],[73,110]],[[],108],[-1,-2,[],[]],[-1,50,[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,69,[]],[-1,69,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],[[90,[[89,[88]]]]],[],[73,110]],0,0,[-1,[[17,[50]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[81,[[17,[111,104]]]],[112,[[17,[-1,104]]],[[114,[113]]]],[112,[[17,[7,104]]]],[-1,70,[]],[112,[[17,[-1,104]]],[[114,[115]]]],[112,[[17,[1,104]]]],[112,[[17,[113,104]]]],[104,[[22,[75]]]],[[81,-1],[[17,[-2,104]]],[34,86],[[114,[113]]]],[81,[[17,[-1,104]]],116],[81,[[66,[117]]]],[81,[[17,[-1,104]]],116],[[81,-1],[[17,[7,104]]],[34,86]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[104,[[22,[70]]]],[104,104],[81,81],[112,112],[118,118],[119,119],[[-1,-2],12,[],[]],[[-1,-2],12,[],[]],[[-1,-2],12,[],[]],[[-1,-2],12,[],[]],[[-1,-2],12,[],[]],[104,1],[-1,[[17,[104]]],21],[-1,[[17,[118]]],21],[[112,112],7],[[118,118],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[104,23],26],[[104,23],26],[[81,23],26],[[112,23],26],[[118,23],[[17,[12,24]]]],[[118,23],26],[[119,23],26],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[1,[[17,[118]]]],[81,120],[[81,-1],[[17,[-2,104]]],[34,86],[[114,[115]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[81,108],0,[[[39,[-1]],119],[[17,[[22,[112]],104]]],[]],[[81,-1],[[17,[[22,[-2]],104]]],[34,86],[[114,[113]]]],[[81,-1],[[17,[[22,[7]],104]]],[34,86]],[[81,-1],[[17,[[22,[-2]],104]]],[34,86],[[114,[115]]]],[[81,-1],[[22,[112]]],[34,86]],[[81,-1],[[17,[[22,[1]],104]]],[34,86]],[[81,-1],[[17,[[22,[113]],104]]],[34,86]],[[81,-1],[[17,[112,104]]],[34,86]],[112,118],0,[[1,119],[[17,[112,104]]]],[81,[[22,[1]]]],[[104,-1],17,62],[[118,-1],17,62],[104,[[22,[70]]]],[[81,-1],[[17,[1,104]]],[34,86]],[[81,-1],[[17,[113,104]]],[34,86]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,50,[]],[-1,50,[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[1,[[17,[118]]]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,70,[]],[121,[[22,[75]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[121,[[22,[70]]]],[121,121],[[-1,-2],12,[],[]],[121,1],[[[82,[-1,-2]]],79,[],[]],[[[106,[-1]],23],26,86],[[[82,[-1,-2]],23],26,[],[]],[[121,23],26],[[121,23],26],[-1,-1,[]],[104,[[106,[-1]]],[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[82,[-1,-2]]],7,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[106,[-1]],-2],[[106,[-3]]],[],68,[]],[[[82,[-1,-2]],-3],[[82,[-1,-4]]],[73,74],[73,74],[73,74,68],[]],[[[82,[-1,-2]]],108,[],[]],[[[82,[-1,-2]]],50,[],[]],[[50,8,[20,[77]]],[[17,[[82,[-1,-2]],121]]],[],[]],[[[82,[-1,-2]]],[[14,[119]]],[],[]],[[[82,[-1,-2]]],[[0,[85]]],[],[]],[121,[[22,[70]]]],[[[106,[-1]]],102,[]],[-1,-2,[],[]],[-1,50,[]],[-1,50,[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[-1,69,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[105,[-1]]],122,[]],[[[123,[-1,-2,-3]]],12,34,[],[]],[[[105,[-1]],23],26,86],[[[105,[-1]],23],26,124],[-1,-1,[]],[-1,-1,[]],[104,[[105,[-1]]],[]],[125,[[105,[-1]]],[]],[126,[[105,[-1]]],[]],[49,[[105,[-1]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[105,[-1]],-2],[[105,[-3]]],[],68,[]],[[[90,[[123,[-1,-2,-3]]]],127],[[128,[[17,[12]]]]],[129,34],[],[]],[[[90,[[123,[-1,-2,-3]]]],127],[[128,[[17,[12]]]]],[129,34],[],[]],[[[90,[[123,[-1,-2,-3]]]],127],[[128,[22]]],34,116,[]],[[[90,[[123,[-1,-2,-3]]]],127],[[128,[[17,[12]]]]],[129,34],[],[]],[[[90,[[123,[-1,-2,-3]]]],-1],[[17,[12]]],[129,34],[],[]],[[[105,[-1]]],102,[]],[-1,50,[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[[[90,[-1]],127],[[128,[[22,[17]]]]],[]],[-1,69,[]],[-1,69,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,70,[]],[130,[[22,[75]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[102,1],[130,[[22,[70]]]],[102,102],[130,130],[[-1,-2],12,[],[]],[[-1,-2],12,[],[]],[130,1],[-1,[[17,[102]]],21],[[102,131],7],[[102,102],7],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[102,23],26],[[102,23],26],[[130,23],26],[[130,23],26],[131,102],[-1,-1,[]],[-1,-1,[]],[132,[[22,[102]]]],[32,[[22,[102]]]],[[-1,-2],32,[33,34],35],[[102,-1],12,37],[-1,-2,[],[]],[-1,-2,[],[]],[102,7],[102,7],[102,7],[102,7],[102,7],[[102,-1],17,62],[130,[[22,[70]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,50,[]],[-1,50,[]],[-1,[[17,[-2]]],[],[]],[58,[[17,[102]]]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,69,[]],[-1,69,[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[139],"p":[[15,"str"],[3,"PathBuf",967],[3,"Url",0],[4,"DiscoKey",0],[4,"HealthStatus",0],[3,"Command",968],[15,"bool"],[4,"Value",969],[3,"ServerState",0],[8,"Clone",970],[4,"UrlSegment",0],[15,"tuple"],[4,"Ordering",971],[15,"slice"],[3,"Config",972],[4,"ConfigError",973],[4,"Result",974],[15,"usize"],[3,"Router",975],[3,"Arc",976],[8,"Deserializer",977],[4,"Option",978],[3,"Formatter",979],[3,"Error",979],[3,"DiscoArgs",0],[6,"Result",979],[3,"ArgMatches",980],[6,"Error",981],[3,"Path",967],[8,"AsRef",982],[4,"ParseError",983],[15,"u64"],[8,"Hash",984],[8,"Sized",985],[8,"BuildHasher",984],[3,"Id",986],[8,"Hasher",984],[6,"AppServerState",0],[3,"Request",987],[3,"Response",988],[3,"Error",989],[4,"Host",990],[4,"Position",991],[3,"Range",992],[3,"RangeTo",992],[3,"RangeFull",992],[3,"RangeFrom",992],[3,"Request",993],[4,"Error",994],[3,"String",995],[4,"Resettable",996],[3,"ParseOptions",997],[4,"Origin",998],[8,"IntoIterator",999],[15,"char"],[3,"Split",1000],[3,"PathSegmentsMut",1001],[15,"u16"],[3,"Parse",1002],[3,"UrlQuery",997],[3,"Serializer",1002],[8,"Serializer",1003],[4,"IpAddr",1004],[4,"SocketAddr",1005],[3,"Global",1006],[3,"Vec",1007],[3,"Error",1008],[8,"Fn",1009],[3,"TypeId",1010],[8,"Error",1011],[3,"Api",220],[4,"ApiError",220],[8,"Send",985],[8,"Sync",985],[3,"Backtrace",1012],[3,"ApiVersion",220],[3,"ApiMetadata",220],[8,"WriteState",530],[6,"Html",0],[8,"ReadState",530],[3,"RequestParams",579],[3,"Route",727],[8,"Into",982],[3,"RoutesWithPath",220],[8,"Iterator",1013],[8,"Display",979],[3,"Version",1014],[8,"Future",1015],[3,"Box",1016],[3,"Pin",1017],[4,"AppError",353],[3,"Server",1018],[3,"AppHealth",353],[3,"AppVersion",353],[3,"Module",353],[8,"From",982],[3,"App",353],[3,"ListenInfo",1019],[6,"Result",1008],[8,"Error",456],[8,"ToListener",353],[4,"StatusCode",854],[3,"ServerError",456],[4,"RequestError",579],[4,"SocketError",808],[4,"RouteError",727],[4,"HealthStatus",501],[4,"Method",530],[4,"Method",1020],[8,"FnOnce",1009],[3,"Accept",1021],[4,"RequestParamValue",579],[3,"TaggedBase64",1022],[8,"TryFrom",982],[15,"u128"],[8,"DeserializeOwned",977],[15,"u8"],[4,"RequestParamType",579],[3,"RequestParam",579],[3,"Headers",1023],[4,"RouteParseError",727],[4,"CloseCode",1024],[3,"Connection",808],[8,"Debug",979],[3,"Error",1025],[6,"Error",1026],[3,"Context",1027],[4,"Poll",1028],[8,"Serialize",1003],[3,"OutOfRangeError",854],[4,"StatusCode",1029],[15,"i64"],[6,"AppState",0],[13,"IncorrectMethod",346],[13,"CannotReadToml",346],[13,"AmbiguousRoutes",346],[13,"Route",346],[13,"InvalidMetaTable",346],[8,"Listener",353],[13,"Api",455],[8,"HealthCheck",501],[3,"ParseMethodError",530],[8,"Metrics",576],[13,"IncorrectParamType",716],[13,"TagMismatch",716],[13,"IntegerOverflow",716],[13,"MissingParam",716],[13,"InvalidParam",716],[13,"TaggedBase64",716],[13,"Http",716],[3,"MapErr",727],[13,"IncorrectMethod",807],[13,"IncorrectMethod",852]]}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/src-files.js b/src-files.js index 83599fd2..c2675f34 100644 --- a/src-files.js +++ b/src-files.js @@ -1,4 +1,4 @@ var srcIndex = JSON.parse('{\ -"tide_disco":["",[],["api.rs","app.rs","error.rs","healthcheck.rs","lib.rs","method.rs","metrics.rs","request.rs","route.rs","socket.rs"]]\ +"tide_disco":["",[],["api.rs","app.rs","error.rs","healthcheck.rs","lib.rs","method.rs","metrics.rs","request.rs","route.rs","socket.rs","status.rs"]]\ }'); createSrcSidebar(); diff --git a/src/tide_disco/app.rs.html b/src/tide_disco/app.rs.html index b8463ebb..ffc20c9e 100644 --- a/src/tide_disco/app.rs.html +++ b/src/tide_disco/app.rs.html @@ -885,7 +885,6 @@ 885 886 887 -888
// Copyright (c) 2022 Espresso Systems (espressosys.com)
 // This file is part of the tide-disco library.
 
@@ -900,7 +899,7 @@
     request::{best_response_type, RequestParam, RequestParams},
     route::{self, health_check_response, respond_with, Handler, Route, RouteError},
     socket::SocketError,
-    Html,
+    Html, StatusCode,
 };
 use async_std::sync::Arc;
 use futures::future::{BoxFuture, FutureExt};
@@ -921,7 +920,6 @@
 use tide::{
     http::{headers::HeaderValue, mime},
     security::{CorsMiddleware, Origin},
-    StatusCode,
 };
 use tide_websockets::WebSocket;
 
@@ -1054,7 +1052,7 @@
         let mut modules = HashMap::new();
         let mut status = HealthStatus::Available;
         for (name, api) in &self.apis {
-            let health = api.health(req.clone(), state).await.status();
+            let health = StatusCode::from(api.health(req.clone(), state).await.status());
             if health != StatusCode::Ok {
                 status = HealthStatus::Unhealthy;
             }
diff --git a/src/tide_disco/error.rs.html b/src/tide_disco/error.rs.html
index 27ef3c6a..03132508 100644
--- a/src/tide_disco/error.rs.html
+++ b/src/tide_disco/error.rs.html
@@ -109,39 +109,18 @@
 109
 110
 111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
 
// Copyright (c) 2022 Espresso Systems (espressosys.com)
 // This file is part of the tide-disco library.
 
 // You should have received a copy of the MIT License
 // along with the tide-disco library. If not, see <https://mit-license.org/>.
 
-use crate::{request::RequestError, route::RouteError, socket::SocketError};
+use crate::{request::RequestError, route::RouteError, socket::SocketError, StatusCode};
 use config::ConfigError;
 use serde::{de::DeserializeOwned, Deserialize, Serialize};
 use snafu::Snafu;
 use std::fmt::Display;
 use std::io::Error as IoError;
-use tide::StatusCode;
 
 /// Errors which can be serialized in a response body.
 ///
@@ -185,7 +164,7 @@
     fn from_server_error(source: tide::Error) -> Self {
         match source.downcast::<Self>() {
             Ok(err) => err,
-            Err(source) => Self::catch_all(source.status(), source.to_string()),
+            Err(source) => Self::catch_all(source.status().into(), source.to_string()),
         }
     }
 }
@@ -198,29 +177,10 @@
 #[derive(Clone, Debug, Snafu, Serialize, Deserialize, PartialEq, Eq)]
 #[snafu(display("Error {}: {}", status, message))]
 pub struct ServerError {
-    #[serde(with = "ser_status")]
-    pub status: StatusCode,
+    pub status: StatusCode,
     pub message: String,
 }
 
-mod ser_status {
-    //! The deserialization implementation for [StatusCode] uses `deserialize_any` unnecessarily,
-    //! which prevents it from working with [bincode].
-    use super::*;
-    use serde::{
-        de::{Deserializer, Error},
-        ser::Serializer,
-    };
-
-    pub fn serialize<S: Serializer>(status: &StatusCode, s: S) -> Result<S::Ok, S::Error> {
-        u16::from(*status).serialize(s)
-    }
-
-    pub fn deserialize<'de, D: Deserializer<'de>>(d: D) -> Result<StatusCode, D::Error> {
-        u16::deserialize(d)?.try_into().map_err(D::Error::custom)
-    }
-}
-
 impl Error for ServerError {
     fn catch_all(status: StatusCode, message: String) -> Self {
         Self { status, message }
diff --git a/src/tide_disco/healthcheck.rs.html b/src/tide_disco/healthcheck.rs.html
index 28fa738d..ff325f0b 100644
--- a/src/tide_disco/healthcheck.rs.html
+++ b/src/tide_disco/healthcheck.rs.html
@@ -61,8 +61,8 @@
 // You should have received a copy of the MIT License
 // along with the tide-disco library. If not, see <https://mit-license.org/>.
 
-use serde::{Deserialize, Serialize};
-use tide::StatusCode;
+use crate::StatusCode;
+use serde::{Deserialize, Serialize};
 
 /// A response to a healthcheck endpoint.
 ///
diff --git a/src/tide_disco/lib.rs.html b/src/tide_disco/lib.rs.html
index 12bcf8e4..ae3c1dd5 100644
--- a/src/tide_disco/lib.rs.html
+++ b/src/tide_disco/lib.rs.html
@@ -676,6 +676,8 @@
 676
 677
 678
+679
+680
 
// Copyright (c) 2022 Espresso Systems (espressosys.com)
 // This file is part of the tide-disco library.
 
@@ -951,13 +953,15 @@
 pub mod request;
 pub mod route;
 pub mod socket;
+pub mod status;
 
 pub use api::Api;
 pub use app::App;
 pub use error::Error;
 pub use method::Method;
 pub use request::{RequestError, RequestParam, RequestParamType, RequestParamValue, RequestParams};
-pub use tide::http::{self, StatusCode};
+pub use status::StatusCode;
+pub use tide::http;
 pub use url::Url;
 
 pub type Html = maud::Markup;
diff --git a/src/tide_disco/route.rs.html b/src/tide_disco/route.rs.html
index ebdd9cf9..bc6d9a25 100644
--- a/src/tide_disco/route.rs.html
+++ b/src/tide_disco/route.rs.html
@@ -654,7 +654,6 @@
 654
 655
 656
-657
 
// Copyright (c) 2022 Espresso Systems (espressosys.com)
 // This file is part of the tide-disco library.
 
@@ -668,7 +667,7 @@
     metrics,
     request::{best_response_type, RequestError, RequestParam, RequestParamType, RequestParams},
     socket::{self, SocketError},
-    Html,
+    Html, StatusCode,
 };
 use async_std::sync::Arc;
 use async_trait::async_trait;
@@ -689,7 +688,6 @@
         self,
         content::Accept,
         mime::{self, Mime},
-        StatusCode,
     },
     Body,
 };
diff --git a/src/tide_disco/socket.rs.html b/src/tide_disco/socket.rs.html
index 32a922dd..0d5d8449 100644
--- a/src/tide_disco/socket.rs.html
+++ b/src/tide_disco/socket.rs.html
@@ -403,6 +403,7 @@
 403
 404
 405
+406
 
// Copyright (c) 2022 Espresso Systems (espressosys.com)
 // This file is part of the tide-disco library.
 
@@ -412,9 +413,10 @@
 //! An interface for asynchronous communication with clients, using WebSockets.
 
 use crate::{
-    http::{content::Accept, mime, StatusCode},
+    http::{content::Accept, mime},
     method::Method,
     request::{best_response_type, RequestError, RequestParams},
+    StatusCode,
 };
 use async_std::sync::Arc;
 use futures::{
diff --git a/src/tide_disco/status.rs.html b/src/tide_disco/status.rs.html
new file mode 100644
index 00000000..2444b490
--- /dev/null
+++ b/src/tide_disco/status.rs.html
@@ -0,0 +1,1177 @@
+status.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+
// Copyright (c) 2022 Espresso Systems (espressosys.com)
+// This file is part of the tide-disco library.
+
+// You should have received a copy of the MIT License
+// along with the tide-disco library. If not, see <https://mit-license.org/>.
+
+use num_derive::FromPrimitive;
+use num_traits::FromPrimitive;
+use serde::{Deserialize, Serialize};
+use snafu::{OptionExt, Snafu};
+use std::fmt::{self, Display, Formatter};
+
+/// Serializable HTTP status code.
+///
+/// The deserialization implementation for [StatusCode] uses `deserialize_any` unnecessarily,
+/// which prevents it from working with [bincode]. We define our own version without this problem.
+#[repr(u16)]
+#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Deserialize, Serialize, FromPrimitive)]
+#[serde(try_from = "u16", into = "u16")]
+pub enum StatusCode {
+    /// 100 Continue
+    ///
+    /// This interim response indicates that everything so far is OK and that
+    /// the client should continue the request, or ignore the response if
+    /// the request is already finished.
+    Continue = 100,
+
+    /// 101 Switching Protocols
+    ///
+    /// This code is sent in response to an Upgrade request header from the
+    /// client, and indicates the protocol the server is switching to.
+    SwitchingProtocols = 101,
+
+    /// 103 Early Hints
+    ///
+    /// This status code is primarily intended to be used with the Link header,
+    /// letting the user agent start preloading resources while the server
+    /// prepares a response.
+    EarlyHints = 103,
+
+    /// 200 Ok
+    ///
+    /// The request has succeeded
+    Ok = 200,
+
+    /// 201 Created
+    ///
+    /// The request has succeeded and a new resource has been created as a
+    /// result. This is typically the response sent after POST requests, or
+    /// some PUT requests.
+    Created = 201,
+
+    /// 202 Accepted
+    ///
+    /// The request has been received but not yet acted upon. It is
+    /// noncommittal, since there is no way in HTTP to later send an
+    /// asynchronous response indicating the outcome of the request. It is
+    /// intended for cases where another process or server handles the request,
+    /// or for batch processing.
+    Accepted = 202,
+
+    /// 203 Non Authoritative Information
+    ///
+    /// This response code means the returned meta-information is not exactly
+    /// the same as is available from the origin server, but is collected
+    /// from a local or a third-party copy. This is mostly used for mirrors
+    /// or backups of another resource. Except for that specific case, the
+    /// "200 OK" response is preferred to this status.
+    NonAuthoritativeInformation = 203,
+
+    /// 204 No Content
+    ///
+    /// There is no content to send for this request, but the headers may be
+    /// useful. The user-agent may update its cached headers for this
+    /// resource with the new ones.
+    NoContent = 204,
+
+    /// 205 Reset Content
+    ///
+    /// Tells the user-agent to reset the document which sent this request.
+    ResetContent = 205,
+
+    /// 206 Partial Content
+    ///
+    /// This response code is used when the Range header is sent from the client
+    /// to request only part of a resource.
+    PartialContent = 206,
+
+    /// 207 Multi-Status
+    ///
+    /// A Multi-Status response conveys information about
+    /// multiple resources in situations where multiple
+    /// status codes might be appropriate.
+    MultiStatus = 207,
+
+    /// 226 Im Used
+    ///
+    /// The server has fulfilled a GET request for the resource, and the
+    /// response is a representation of the result of one or more
+    /// instance-manipulations applied to the current instance.
+    ImUsed = 226,
+
+    /// 300 Multiple Choice
+    ///
+    /// The request has more than one possible response. The user-agent or user
+    /// should choose one of them. (There is no standardized way of choosing
+    /// one of the responses, but HTML links to the possibilities are
+    /// recommended so the user can pick.)
+    MultipleChoice = 300,
+
+    /// 301 Moved Permanently
+    ///
+    /// The URL of the requested resource has been changed permanently. The new
+    /// URL is given in the response.
+    MovedPermanently = 301,
+
+    /// 302 Found
+    ///
+    /// This response code means that the URI of requested resource has been
+    /// changed temporarily. Further changes in the URI might be made in the
+    /// future. Therefore, this same URI should be used by the client in
+    /// future requests.
+    Found = 302,
+
+    /// 303 See Other
+    ///
+    /// The server sent this response to direct the client to get the requested
+    /// resource at another URI with a GET request.
+    SeeOther = 303,
+
+    /// 304 Not Modified
+    ///
+    /// This is used for caching purposes. It tells the client that the response
+    /// has not been modified, so the client can continue to use the same
+    /// cached version of the response.
+    NotModified = 304,
+
+    /// 307 Temporary Redirect
+    ///
+    /// The server sends this response to direct the client to get the requested
+    /// resource at another URI with same method that was used in the prior
+    /// request. This has the same semantics as the 302 Found HTTP response
+    /// code, with the exception that the user agent must not change the
+    /// HTTP method used: If a POST was used in the first request, a POST must
+    /// be used in the second request.
+    TemporaryRedirect = 307,
+
+    /// 308 Permanent Redirect
+    ///
+    /// This means that the resource is now permanently located at another URI,
+    /// specified by the Location: HTTP Response header. This has the same
+    /// semantics as the 301 Moved Permanently HTTP response code, with the
+    /// exception that the user agent must not change the HTTP method
+    /// used: If a POST was used in the first request, a POST must be used in
+    /// the second request.
+    PermanentRedirect = 308,
+
+    /// 400 Bad Request
+    ///
+    /// The server could not understand the request due to invalid syntax.
+    BadRequest = 400,
+
+    /// 401 Unauthorized
+    ///
+    /// Although the HTTP standard specifies "unauthorized", semantically this
+    /// response means "unauthenticated". That is, the client must
+    /// authenticate itself to get the requested response.
+    Unauthorized = 401,
+
+    /// 402 Payment Required
+    ///
+    /// This response code is reserved for future use. The initial aim for
+    /// creating this code was using it for digital payment systems, however
+    /// this status code is used very rarely and no standard convention
+    /// exists.
+    PaymentRequired = 402,
+
+    /// 403 Forbidden
+    ///
+    /// The client does not have access rights to the content; that is, it is
+    /// unauthorized, so the server is refusing to give the requested
+    /// resource. Unlike 401, the client's identity is known to the server.
+    Forbidden = 403,
+
+    /// 404 Not Found
+    ///
+    /// The server can not find requested resource. In the browser, this means
+    /// the URL is not recognized. In an API, this can also mean that the
+    /// endpoint is valid but the resource itself does not exist. Servers
+    /// may also send this response instead of 403 to hide the existence of
+    /// a resource from an unauthorized client. This response code is probably
+    /// the most famous one due to its frequent occurrence on the web.
+    NotFound = 404,
+
+    /// 405 Method Not Allowed
+    ///
+    /// The request method is known by the server but has been disabled and
+    /// cannot be used. For example, an API may forbid DELETE-ing a
+    /// resource. The two mandatory methods, GET and HEAD, must never be
+    /// disabled and should not return this error code.
+    MethodNotAllowed = 405,
+
+    /// 406 Not Acceptable
+    ///
+    /// This response is sent when the web server, after performing
+    /// server-driven content negotiation, doesn't find any content that
+    /// conforms to the criteria given by the user agent.
+    NotAcceptable = 406,
+
+    /// 407 Proxy Authentication Required
+    ///
+    /// This is similar to 401 but authentication is needed to be done by a
+    /// proxy.
+    ProxyAuthenticationRequired = 407,
+
+    /// 408 Request Timeout
+    ///
+    /// This response is sent on an idle connection by some servers, even
+    /// without any previous request by the client. It means that the server
+    /// would like to shut down this unused connection. This response is
+    /// used much more since some browsers, like Chrome, Firefox 27+,
+    /// or IE9, use HTTP pre-connection mechanisms to speed up surfing. Also
+    /// note that some servers merely shut down the connection without
+    /// sending this message.
+    RequestTimeout = 408,
+
+    /// 409 Conflict
+    ///
+    /// This response is sent when a request conflicts with the current state of
+    /// the server.
+    Conflict = 409,
+
+    /// 410 Gone
+    ///
+    /// This response is sent when the requested content has been permanently
+    /// deleted from server, with no forwarding address. Clients are
+    /// expected to remove their caches and links to the resource. The HTTP
+    /// specification intends this status code to be used for "limited-time,
+    /// promotional services". APIs should not feel compelled to indicate
+    /// resources that have been deleted with this status code.
+    Gone = 410,
+
+    /// 411 Length Required
+    ///
+    /// Server rejected the request because the Content-Length header field is
+    /// not defined and the server requires it.
+    LengthRequired = 411,
+
+    /// 412 Precondition Failed
+    ///
+    /// The client has indicated preconditions in its headers which the server
+    /// does not meet.
+    PreconditionFailed = 412,
+
+    /// 413 Payload Too Large
+    ///
+    /// Request entity is larger than limits defined by server; the server might
+    /// close the connection or return an Retry-After header field.
+    PayloadTooLarge = 413,
+
+    /// 414 URI Too Long
+    ///
+    /// The URI requested by the client is longer than the server is willing to
+    /// interpret.
+    UriTooLong = 414,
+
+    /// 415 Unsupported Media Type
+    ///
+    /// The media format of the requested data is not supported by the server,
+    /// so the server is rejecting the request.
+    UnsupportedMediaType = 415,
+
+    /// 416 Requested Range Not Satisfiable
+    ///
+    /// The range specified by the Range header field in the request can't be
+    /// fulfilled; it's possible that the range is outside the size of the
+    /// target URI's data.
+    RequestedRangeNotSatisfiable = 416,
+
+    /// 417 Expectation Failed
+    ///
+    /// This response code means the expectation indicated by the Expect request
+    /// header field can't be met by the server.
+    ExpectationFailed = 417,
+    ///
+    /// 418 I'm a teapot
+    ///
+    /// The server refuses the attempt to brew coffee with a teapot.
+    ImATeapot = 418,
+
+    /// 421 Misdirected Request
+    ///
+    /// The request was directed at a server that is not able to produce a
+    /// response. This can be sent by a server that is not configured to
+    /// produce responses for the combination of scheme and authority that
+    /// are included in the request URI.
+    MisdirectedRequest = 421,
+
+    /// 422 Unprocessable Entity
+    ///
+    /// The request was well-formed but was unable to be followed due to
+    /// semantic errors.
+    UnprocessableEntity = 422,
+
+    /// 423 Locked
+    ///
+    /// The resource that is being accessed is locked.
+    Locked = 423,
+
+    /// 424 Failed Dependency
+    ///
+    /// The request failed because it depended on another request and that
+    /// request failed (e.g., a PROPPATCH).
+    FailedDependency = 424,
+
+    /// 425 Too Early
+    ///
+    /// Indicates that the server is unwilling to risk processing a request that
+    /// might be replayed.
+    TooEarly = 425,
+
+    /// 426 Upgrade Required
+    ///
+    /// The server refuses to perform the request using the current protocol but
+    /// might be willing to do so after the client upgrades to a different
+    /// protocol. The server sends an Upgrade header in a 426 response to
+    /// indicate the required protocol(s).
+    UpgradeRequired = 426,
+
+    /// 428 Precondition Required
+    ///
+    /// The origin server requires the request to be conditional. This response
+    /// is intended to prevent the 'lost update' problem, where a client
+    /// GETs a resource's state, modifies it, and PUTs it back to the
+    /// server, when meanwhile a third party has modified the state on the
+    /// server, leading to a conflict.
+    PreconditionRequired = 428,
+
+    /// 429 Too Many Requests
+    ///
+    /// The user has sent too many requests in a given amount of time ("rate
+    /// limiting").
+    TooManyRequests = 429,
+
+    /// 431 Request Header Fields Too Large
+    ///
+    /// The server is unwilling to process the request because its header fields
+    /// are too large. The request may be resubmitted after reducing the
+    /// size of the request header fields.
+    RequestHeaderFieldsTooLarge = 431,
+
+    /// 451 Unavailable For Legal Reasons
+    ///
+    /// The user-agent requested a resource that cannot legally be provided,
+    /// such as a web page censored by a government.
+    UnavailableForLegalReasons = 451,
+
+    /// 500 Internal Server Error
+    ///
+    /// The server has encountered a situation it doesn't know how to handle.
+    InternalServerError = 500,
+
+    /// 501 Not Implemented
+    ///
+    /// The request method is not supported by the server and cannot be handled.
+    /// The only methods that servers are required to support (and therefore
+    /// that must not return this code) are GET and HEAD.
+    NotImplemented = 501,
+
+    /// 502 Bad Gateway
+    ///
+    /// This error response means that the server, while working as a gateway to
+    /// get a response needed to handle the request, got an invalid
+    /// response.
+    BadGateway = 502,
+
+    /// 503 Service Unavailable
+    ///
+    /// The server is not ready to handle the request. Common causes are a
+    /// server that is down for maintenance or that is overloaded. Note that
+    /// together with this response, a user-friendly page explaining the
+    /// problem should be sent. This responses should be used for temporary
+    /// conditions and the Retry-After: HTTP header should, if possible, contain
+    /// the estimated time before the recovery of the service. The webmaster
+    /// must also take care about the caching-related headers that are sent
+    /// along with this response, as these temporary condition responses
+    /// should usually not be cached.
+    ServiceUnavailable = 503,
+
+    /// 504 Gateway Timeout
+    ///
+    /// This error response is given when the server is acting as a gateway and
+    /// cannot get a response in time.
+    GatewayTimeout = 504,
+
+    /// 505 HTTP Version Not Supported
+    ///
+    /// The HTTP version used in the request is not supported by the server.
+    HttpVersionNotSupported = 505,
+
+    /// 506 Variant Also Negotiates
+    ///
+    /// The server has an internal configuration error: the chosen variant
+    /// resource is configured to engage in transparent content negotiation
+    /// itself, and is therefore not a proper end point in the negotiation
+    /// process.
+    VariantAlsoNegotiates = 506,
+
+    /// 507 Insufficient Storage
+    ///
+    /// The server is unable to store the representation needed to complete the
+    /// request.
+    InsufficientStorage = 507,
+
+    /// 508 Loop Detected
+    ///
+    /// The server detected an infinite loop while processing the request.
+    LoopDetected = 508,
+
+    /// 510 Not Extended
+    ///
+    /// Further extensions to the request are required for the server to fulfil
+    /// it.
+    NotExtended = 510,
+
+    /// 511 Network Authentication Required
+    ///
+    /// The 511 status code indicates that the client needs to authenticate to
+    /// gain network access.
+    NetworkAuthenticationRequired = 511,
+}
+
+#[derive(Clone, Copy, Debug, Snafu)]
+#[snafu(display("status code out of range"))]
+pub struct OutOfRangeError;
+
+impl TryFrom<u16> for StatusCode {
+    type Error = OutOfRangeError;
+
+    fn try_from(code: u16) -> Result<Self, Self::Error> {
+        Self::from_u16(code).context(OutOfRangeSnafu)
+    }
+}
+
+impl From<StatusCode> for u16 {
+    fn from(code: StatusCode) -> Self {
+        code as u16
+    }
+}
+
+impl From<StatusCode> for tide::StatusCode {
+    fn from(code: StatusCode) -> Self {
+        // `StatusCode` and `tide::StatusCode` have the same variants, so converting from one to
+        // the other through `u16` cannot fail.
+        u16::from(code).try_into().unwrap()
+    }
+}
+
+impl From<tide::StatusCode> for StatusCode {
+    fn from(code: tide::StatusCode) -> Self {
+        // `StatusCode` and `tide::StatusCode` have the same variants, so converting from one to
+        // the other through `u16` cannot fail.
+        u16::from(code).try_into().unwrap()
+    }
+}
+
+impl PartialEq<tide::StatusCode> for StatusCode {
+    fn eq(&self, other: &tide::StatusCode) -> bool {
+        *self == Self::from(*other)
+    }
+}
+
+impl PartialEq<StatusCode> for tide::StatusCode {
+    fn eq(&self, other: &StatusCode) -> bool {
+        *self == Self::from(*other)
+    }
+}
+
+impl Display for StatusCode {
+    fn fmt(&self, f: &mut Formatter) -> fmt::Result {
+        write!(f, "{}", *self as u16)
+    }
+}
+
+impl StatusCode {
+    /// Returns `true` if the status code is `1xx` range.
+    ///
+    /// If this returns `true` it indicates that the request was received,
+    /// continuing process.
+    pub fn is_informational(self) -> bool {
+        tide::StatusCode::from(self).is_informational()
+    }
+
+    /// Returns `true` if the status code is the `2xx` range.
+    ///
+    /// If this returns `true` it indicates that the request was successfully
+    /// received, understood, and accepted.
+    pub fn is_success(self) -> bool {
+        tide::StatusCode::from(self).is_success()
+    }
+
+    /// Returns `true` if the status code is the `3xx` range.
+    ///
+    /// If this returns `true` it indicates that further action needs to be
+    /// taken in order to complete the request.
+    pub fn is_redirection(self) -> bool {
+        tide::StatusCode::from(self).is_redirection()
+    }
+
+    /// Returns `true` if the status code is the `4xx` range.
+    ///
+    /// If this returns `true` it indicates that the request contains bad syntax
+    /// or cannot be fulfilled.
+    pub fn is_client_error(self) -> bool {
+        tide::StatusCode::from(self).is_client_error()
+    }
+
+    /// Returns `true` if the status code is the `5xx` range.
+    ///
+    /// If this returns `true` it indicates that the server failed to fulfill an
+    /// apparently valid request.
+    pub fn is_server_error(self) -> bool {
+        tide::StatusCode::from(self).is_server_error()
+    }
+
+    /// The canonical reason for a given status code
+    pub fn canonical_reason(self) -> &'static str {
+        tide::StatusCode::from(self).canonical_reason()
+    }
+}
+
+#[cfg(test)]
+mod test {
+    use super::*;
+
+    #[test]
+    fn test_status_code() {
+        for code in 0u16.. {
+            // Iterate over all valid status codes, then break.
+            let Ok(status) = StatusCode::try_from(code) else {
+                break;
+            };
+            // Test type conversions.
+            assert_eq!(
+                tide::StatusCode::try_from(code).unwrap(),
+                tide::StatusCode::from(status)
+            );
+            assert_eq!(code, u16::from(status));
+
+            // Test bincode round trip.
+            assert_eq!(
+                status,
+                bincode::deserialize::<StatusCode>(&bincode::serialize(&status).unwrap()).unwrap()
+            );
+
+            // Test JSON round trip, readability, and backwards compatibility.
+            let json = serde_json::to_string(&status).unwrap();
+            assert_eq!(status, serde_json::from_str::<StatusCode>(&json).unwrap());
+            assert_eq!(json, code.to_string());
+            assert_eq!(
+                json,
+                serde_json::to_string(&tide::StatusCode::from(status)).unwrap()
+            );
+
+            // Test display.
+            assert_eq!(status.to_string(), code.to_string());
+            assert_eq!(
+                status.to_string(),
+                tide::StatusCode::from(status).to_string()
+            );
+
+            // Test equality.
+            assert_eq!(status, tide::StatusCode::from(status));
+        }
+
+        // Now iterate over all valid _Tide_ status codes, and ensure the ycan be converted to our
+        // `StatusCode`.
+        for code in 0u16.. {
+            let Ok(status) = tide::StatusCode::try_from(code) else {
+                break;
+            };
+            assert_eq!(
+                StatusCode::try_from(code).unwrap(),
+                StatusCode::from(status)
+            );
+        }
+    }
+}
+
\ No newline at end of file diff --git a/tide_disco/all.html b/tide_disco/all.html index 2bfdc00f..33931471 100644 --- a/tide_disco/all.html +++ b/tide_disco/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/tide_disco/api/struct.Api.html b/tide_disco/api/struct.Api.html index 2671ae5f..d5b7d360 100644 --- a/tide_disco/api/struct.Api.html +++ b/tide_disco/api/struct.Api.html @@ -396,7 +396,7 @@
Limitations
State: 'static + Send + Sync,

Create a new Api which is just like this one, except has a transformed Error type.

source

pub fn documentation(&self) -> Html

Compose an HTML page documenting all the routes in this API.

source

pub fn description(&self) -> &str

The description of this API from the specification.

-

Trait Implementations§

source§

impl<State, Error> Debug for Api<State, Error>

source§

fn fmt(&self, __f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<State, Error> Index<&str> for Api<State, Error>

§

type Output = Route<State, Error>

The returned type after indexing.
source§

fn index(&self, index: &str) -> &Route<State, Error>

Performs the indexing (container[index]) operation. Read more
source§

impl<'a, State, Error> IntoIterator for &'a Api<State, Error>

§

type Item = &'a Route<State, Error>

The type of the elements being iterated over.
§

type IntoIter = Values<'a, String, Route<State, Error>>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl<State, Error> IntoIterator for Api<State, Error>

§

type Item = Route<State, Error>

The type of the elements being iterated over.
§

type IntoIter = IntoValues<String, Route<State, Error>>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more

Auto Trait Implementations§

§

impl<State, Error> !RefUnwindSafe for Api<State, Error>

§

impl<State, Error> Send for Api<State, Error>

§

impl<State, Error> Sync for Api<State, Error>

§

impl<State, Error> Unpin for Api<State, Error>

§

impl<State, Error> !UnwindSafe for Api<State, Error>

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl<State, Error> Debug for Api<State, Error>

source§

fn fmt(&self, __f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<State, Error> Index<&str> for Api<State, Error>

§

type Output = Route<State, Error>

The returned type after indexing.
source§

fn index(&self, index: &str) -> &Route<State, Error>

Performs the indexing (container[index]) operation. Read more
source§

impl<'a, State, Error> IntoIterator for &'a Api<State, Error>

§

type Item = &'a Route<State, Error>

The type of the elements being iterated over.
§

type IntoIter = Values<'a, String, Route<State, Error>>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl<State, Error> IntoIterator for Api<State, Error>

§

type Item = Route<State, Error>

The type of the elements being iterated over.
§

type IntoIter = IntoValues<String, Route<State, Error>>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more

Auto Trait Implementations§

§

impl<State, Error> !RefUnwindSafe for Api<State, Error>

§

impl<State, Error> Send for Api<State, Error>

§

impl<State, Error> Sync for Api<State, Error>

§

impl<State, Error> Unpin for Api<State, Error>

§

impl<State, Error> !UnwindSafe for Api<State, Error>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/tide_disco/app/enum.AppError.html b/tide_disco/app/enum.AppError.html index 18cc513b..ce205ede 100644 --- a/tide_disco/app/enum.AppError.html +++ b/tide_disco/app/enum.AppError.html @@ -1,11 +1,11 @@ -AppError in tide_disco::app - Rust

Enum tide_disco::app::AppError

source ·
pub enum AppError {
+AppError in tide_disco::app - Rust

Enum tide_disco::app::AppError

source ·
pub enum AppError {
     Api {
         source: ApiError,
     },
     ModuleAlreadyExists,
 }
Expand description

An error encountered while building an App.

-

Variants§

§

Api

Fields

§source: ApiError
§

ModuleAlreadyExists

Trait Implementations§

source§

impl Clone for AppError

source§

fn clone(&self) -> AppError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AppError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for AppError

source§

fn fmt(&self, __snafu_display_formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for AppErrorwhere - Self: Debug + Display,

source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl ErrorCompat for AppError

source§

fn backtrace(&self) -> Option<&Backtrace>

Returns a Backtrace that may be printed.
§

fn iter_chain(&self) -> ChainCompat<'_>where +

Variants§

§

Api

Fields

§source: ApiError
§

ModuleAlreadyExists

Trait Implementations§

source§

impl Clone for AppError

source§

fn clone(&self) -> AppError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AppError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for AppError

source§

fn fmt(&self, __snafu_display_formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for AppErrorwhere + Self: Debug + Display,

source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl ErrorCompat for AppError

source§

fn backtrace(&self) -> Option<&Backtrace>

Returns a Backtrace that may be printed.
§

fn iter_chain(&self) -> ChainCompat<'_>where Self: AsErrorSource,

Returns an iterator for traversing the chain of errors, starting with the current error and continuing with recursive calls to Error::source. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/tide_disco/app/index.html b/tide_disco/app/index.html index 0a7110be..e27a2bb1 100644 --- a/tide_disco/app/index.html +++ b/tide_disco/app/index.html @@ -1,4 +1,4 @@ -tide_disco::app - Rust

Module tide_disco::app

source ·

Structs

Enums

Traits

source§

impl<State: Send + Sync + 'static, Error: 'static + Error> App<State, Error>

source

pub async fn serve<L: ToListener<Arc<Self>>>(self, listener: L) -> Result<()>

Serve the App asynchronously.

+
source§

impl<State: Send + Sync + 'static, Error: 'static + Error> App<State, Error>

source

pub async fn serve<L: ToListener<Arc<Self>>>(self, listener: L) -> Result<()>

Serve the App asynchronously.

Auto Trait Implementations§

§

impl<State, Error> !RefUnwindSafe for App<State, Error>

§

impl<State, Error> Send for App<State, Error>where State: Send + Sync,

§

impl<State, Error> Sync for App<State, Error>where State: Send + Sync,

§

impl<State, Error> Unpin for App<State, Error>

§

impl<State, Error> !UnwindSafe for App<State, Error>

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/tide_disco/app/struct.AppHealth.html b/tide_disco/app/struct.AppHealth.html index 3e54ba59..edc9b853 100644 --- a/tide_disco/app/struct.AppHealth.html +++ b/tide_disco/app/struct.AppHealth.html @@ -1,16 +1,16 @@ -AppHealth in tide_disco::app - Rust

Struct tide_disco::app::AppHealth

source ·
pub struct AppHealth {
+AppHealth in tide_disco::app - Rust

Struct tide_disco::app::AppHealth

source ·
pub struct AppHealth {
     pub status: HealthStatus,
-    pub modules: HashMap<String, StatusCode>,
+    pub modules: HashMap<String, StatusCode>,
 }
Expand description

The health status of an application.

Fields§

§status: HealthStatus

The status of the overall application.

HealthStatus::Available if all of the application’s modules are healthy, otherwise a HealthStatus variant with status other than 200.

-
§modules: HashMap<String, StatusCode>

The status of each registered module.

-

Trait Implementations§

source§

impl Clone for AppHealth

source§

fn clone(&self) -> AppHealth

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AppHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for AppHealth

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl HealthCheck for AppHealth

source§

fn status(&self) -> StatusCode

The status of this health check. Read more
source§

impl PartialEq<AppHealth> for AppHealth

source§

fn eq(&self, other: &AppHealth) -> bool

This method tests for self and other values to be equal, and is used +
§modules: HashMap<String, StatusCode>

The status of each registered module.

+

Trait Implementations§

source§

impl Clone for AppHealth

source§

fn clone(&self) -> AppHealth

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AppHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for AppHealth

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl HealthCheck for AppHealth

source§

fn status(&self) -> StatusCode

The status of this health check. Read more
source§

impl PartialEq<AppHealth> for AppHealth

source§

fn eq(&self, other: &AppHealth) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for AppHealth

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for AppHealth

source§

impl StructuralEq for AppHealth

source§

impl StructuralPartialEq for AppHealth

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for AppHealth

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for AppHealth

source§

impl StructuralEq for AppHealth

source§

impl StructuralPartialEq for AppHealth

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere diff --git a/tide_disco/app/struct.AppVersion.html b/tide_disco/app/struct.AppVersion.html index f8d245ef..77d7fce2 100644 --- a/tide_disco/app/struct.AppVersion.html +++ b/tide_disco/app/struct.AppVersion.html @@ -1,4 +1,4 @@ -AppVersion in tide_disco::app - Rust

Fields§

§modules: HashMap<String, ApiVersion>

The version of each module registered with this application.

§app_version: Option<Version>

The version of this application.

§disco_version: Version

The version of the Tide Disco server framework.

-

Trait Implementations§

source§

impl Clone for AppVersion

source§

fn clone(&self) -> AppVersion

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AppVersion

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for AppVersion

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq<AppVersion> for AppVersion

source§

fn eq(&self, other: &AppVersion) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for AppVersion

source§

fn clone(&self) -> AppVersion

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AppVersion

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for AppVersion

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq<AppVersion> for AppVersion

source§

fn eq(&self, other: &AppVersion) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for AppVersion

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for AppVersion

source§

impl StructuralEq for AppVersion

source§

impl StructuralPartialEq for AppVersion

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for AppVersion

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for AppVersion

source§

impl StructuralEq for AppVersion

source§

impl StructuralPartialEq for AppVersion

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere diff --git a/tide_disco/app/struct.Module.html b/tide_disco/app/struct.Module.html index 2956ef86..07973199 100644 --- a/tide_disco/app/struct.Module.html +++ b/tide_disco/app/struct.Module.html @@ -1,4 +1,4 @@ -Module in tide_disco::app - Rust

source

pub fn version(&self) -> ApiVersion

Get the version of this API.

source

pub fn documentation(&self) -> Html

Compose an HTML page documenting all the routes in this API.

source

pub fn description(&self) -> &str

The description of this API from the specification.

-

Trait Implementations§

source§

impl<'a, State, Error, ModuleError> Deref for Module<'a, State, Error, ModuleError>where +

Trait Implementations§

source§

impl<'a, State, Error, ModuleError> Deref for Module<'a, State, Error, ModuleError>where State: 'static + Send + Sync, Error: 'static + From<ModuleError>, - ModuleError: 'static + Send + Sync,

§

type Target = Api<State, ModuleError>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'a, State, Error, ModuleError> DerefMut for Module<'a, State, Error, ModuleError>where + ModuleError: 'static + Send + Sync,

§

type Target = Api<State, ModuleError>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'a, State, Error, ModuleError> DerefMut for Module<'a, State, Error, ModuleError>where State: 'static + Send + Sync, Error: 'static + From<ModuleError>, - ModuleError: 'static + Send + Sync,

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl<'a, State, Error, ModuleError> Drop for Module<'a, State, Error, ModuleError>where + ModuleError: 'static + Send + Sync,

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl<'a, State, Error, ModuleError> Drop for Module<'a, State, Error, ModuleError>where State: 'static + Send + Sync, Error: 'static + From<ModuleError>, - ModuleError: 'static + Send + Sync,

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'a, State, Error, ModuleError> !RefUnwindSafe for Module<'a, State, Error, ModuleError>

§

impl<'a, State, Error, ModuleError> Send for Module<'a, State, Error, ModuleError>

§

impl<'a, State, Error, ModuleError> Sync for Module<'a, State, Error, ModuleError>

§

impl<'a, State, Error, ModuleError> Unpin for Module<'a, State, Error, ModuleError>

§

impl<'a, State, Error, ModuleError> !UnwindSafe for Module<'a, State, Error, ModuleError>

Blanket Implementations§

source§

impl<T> Any for Twhere + ModuleError: 'static + Send + Sync,

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'a, State, Error, ModuleError> !RefUnwindSafe for Module<'a, State, Error, ModuleError>

§

impl<'a, State, Error, ModuleError> Send for Module<'a, State, Error, ModuleError>

§

impl<'a, State, Error, ModuleError> Sync for Module<'a, State, Error, ModuleError>

§

impl<'a, State, Error, ModuleError> Unpin for Module<'a, State, Error, ModuleError>

§

impl<'a, State, Error, ModuleError> !UnwindSafe for Module<'a, State, Error, ModuleError>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/tide_disco/constant.SERVER_STARTUP_RETRIES.html b/tide_disco/constant.SERVER_STARTUP_RETRIES.html index bbd121b6..16c18e67 100644 --- a/tide_disco/constant.SERVER_STARTUP_RETRIES.html +++ b/tide_disco/constant.SERVER_STARTUP_RETRIES.html @@ -1,2 +1,2 @@ -SERVER_STARTUP_RETRIES in tide_disco - Rust
pub const SERVER_STARTUP_RETRIES: u64 = 255;
Expand description

Number of times to poll before failing

+SERVER_STARTUP_RETRIES in tide_disco - Rust
pub const SERVER_STARTUP_RETRIES: u64 = 255;
Expand description

Number of times to poll before failing

\ No newline at end of file diff --git a/tide_disco/constant.SERVER_STARTUP_SLEEP_MS.html b/tide_disco/constant.SERVER_STARTUP_SLEEP_MS.html index 206fe26d..54c12df7 100644 --- a/tide_disco/constant.SERVER_STARTUP_SLEEP_MS.html +++ b/tide_disco/constant.SERVER_STARTUP_SLEEP_MS.html @@ -1,2 +1,2 @@ -SERVER_STARTUP_SLEEP_MS in tide_disco - Rust
pub const SERVER_STARTUP_SLEEP_MS: u64 = 100;
Expand description

Number of milliseconds to sleep between attempts

+SERVER_STARTUP_SLEEP_MS in tide_disco - Rust
pub const SERVER_STARTUP_SLEEP_MS: u64 = 100;
Expand description

Number of milliseconds to sleep between attempts

\ No newline at end of file diff --git a/tide_disco/enum.DiscoKey.html b/tide_disco/enum.DiscoKey.html index 1599d763..aae2fc4e 100644 --- a/tide_disco/enum.DiscoKey.html +++ b/tide_disco/enum.DiscoKey.html @@ -1,4 +1,4 @@ -DiscoKey in tide_disco - Rust

Enum tide_disco::DiscoKey

source ·
pub enum DiscoKey {
+DiscoKey in tide_disco - Rust

Enum tide_disco::DiscoKey

source ·
pub enum DiscoKey {
     ansi_color,
     api_toml,
     app_toml,
@@ -7,7 +7,7 @@
 }
Expand description

Configuration keys for Tide Disco settings

The application is expected to define additional keys. Note, string literals could be used directly, but defining an enum allows the compiler to catch typos.

-

Variants§

§

ansi_color

§

api_toml

§

app_toml

§

base_url

§

disco_toml

Trait Implementations§

source§

impl AsRef<str> for DiscoKey

source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Debug for DiscoKey

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Variants§

§

ansi_color

§

api_toml

§

app_toml

§

base_url

§

disco_toml

Trait Implementations§

source§

impl AsRef<str> for DiscoKey

source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Debug for DiscoKey

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/tide_disco/enum.HealthStatus.html b/tide_disco/enum.HealthStatus.html index 24525bcd..4200c7b8 100644 --- a/tide_disco/enum.HealthStatus.html +++ b/tide_disco/enum.HealthStatus.html @@ -1,9 +1,9 @@ -HealthStatus in tide_disco - Rust
pub enum HealthStatus {
+HealthStatus in tide_disco - Rust
pub enum HealthStatus {
     Starting,
     Available,
     Stopping,
-}

Variants§

§

Starting

§

Available

§

Stopping

Trait Implementations§

source§

impl AsRef<str> for HealthStatus

source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Clone for HealthStatus

source§

fn clone(&self) -> HealthStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HealthStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for HealthStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for HealthStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +}

Variants§

§

Starting

§

Available

§

Stopping

Trait Implementations§

source§

impl AsRef<str> for HealthStatus

source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Clone for HealthStatus

source§

fn clone(&self) -> HealthStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HealthStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for HealthStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for HealthStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/tide_disco/enum.UrlSegment.html b/tide_disco/enum.UrlSegment.html index e0e2d127..a2e82af8 100644 --- a/tide_disco/enum.UrlSegment.html +++ b/tide_disco/enum.UrlSegment.html @@ -1,10 +1,10 @@ -UrlSegment in tide_disco - Rust
pub enum UrlSegment {
+UrlSegment in tide_disco - Rust
pub enum UrlSegment {
     Boolean(Option<bool>),
     Hexadecimal(Option<u128>),
     Integer(Option<u128>),
     TaggedBase64(Option<TaggedBase64>),
     Literal(Option<String>),
-}

Variants§

§

Boolean(Option<bool>)

§

Hexadecimal(Option<u128>)

§

Integer(Option<u128>)

§

TaggedBase64(Option<TaggedBase64>)

§

Literal(Option<String>)

Implementations§

source§

impl UrlSegment

source

pub fn new(value: &str, vtype: UrlSegment) -> UrlSegment

source

pub fn is_bound(&self) -> bool

Trait Implementations§

source§

impl Clone for UrlSegment

source§

fn clone(&self) -> UrlSegment

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UrlSegment

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FromStr for UrlSegment

§

type Err = ParseError

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<UrlSegment, <Self as FromStr>::Err>

Parses a string s to return a value of this type. Read more
source§

impl TryFrom<&str> for UrlSegment

§

type Error = ParseError

The type returned in the event of a conversion error.
source§

fn try_from(s: &str) -> Result<UrlSegment, <Self as TryFrom<&str>>::Error>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +}

Variants§

§

Boolean(Option<bool>)

§

Hexadecimal(Option<u128>)

§

Integer(Option<u128>)

§

TaggedBase64(Option<TaggedBase64>)

§

Literal(Option<String>)

Implementations§

source§

impl UrlSegment

source

pub fn new(value: &str, vtype: UrlSegment) -> UrlSegment

source

pub fn is_bound(&self) -> bool

Trait Implementations§

source§

impl Clone for UrlSegment

source§

fn clone(&self) -> UrlSegment

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UrlSegment

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FromStr for UrlSegment

§

type Err = ParseError

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<UrlSegment, <Self as FromStr>::Err>

Parses a string s to return a value of this type. Read more
source§

impl TryFrom<&str> for UrlSegment

§

type Error = ParseError

The type returned in the event of a conversion error.
source§

fn try_from(s: &str) -> Result<UrlSegment, <Self as TryFrom<&str>>::Error>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/tide_disco/error/index.html b/tide_disco/error/index.html index 2f844872..e40977a2 100644 --- a/tide_disco/error/index.html +++ b/tide_disco/error/index.html @@ -1 +1 @@ -tide_disco::error - Rust

Module tide_disco::error

source ·

Structs

Traits

  • Errors which can be serialized in a response body.
\ No newline at end of file +tide_disco::error - Rust

Module tide_disco::error

source ·

Structs

Traits

  • Errors which can be serialized in a response body.
\ No newline at end of file diff --git a/tide_disco/error/struct.ServerError.html b/tide_disco/error/struct.ServerError.html index 9de3c65d..d1c4dbe1 100644 --- a/tide_disco/error/struct.ServerError.html +++ b/tide_disco/error/struct.ServerError.html @@ -1,19 +1,19 @@ -ServerError in tide_disco::error - Rust
pub struct ServerError {
-    pub status: StatusCode,
+ServerError in tide_disco::error - Rust
pub struct ServerError {
+    pub status: StatusCode,
     pub message: String,
 }
Expand description

The simplest possible implementation of Error.

You can use this to get up and running quickly if you don’t want to create your own error type. However, we strongly reccommend creating a custom error type and implementing Error for it, so that you can provide more informative and structured error responses specific to your API.

-

Fields§

§status: StatusCode§message: String

Trait Implementations§

source§

impl Clone for ServerError

source§

fn clone(&self) -> ServerError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ServerError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ServerError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for ServerError

source§

fn fmt(&self, __snafu_display_formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for ServerErrorwhere - Self: Debug + Display,

source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl Error for ServerError

source§

fn catch_all(status: StatusCode, message: String) -> Self

source§

fn status(&self) -> StatusCode

source§

fn from_io_error(source: IoError) -> Self

source§

fn from_config_error(source: ConfigError) -> Self

source§

fn from_route_error<E: Display>(source: RouteError<E>) -> Self

source§

fn from_request_error(source: RequestError) -> Self

source§

fn from_socket_error<E: Display>(source: SocketError<E>) -> Self

source§

fn into_tide_error(self) -> Error

source§

fn from_server_error(source: Error) -> Self

source§

impl ErrorCompat for ServerError

source§

fn backtrace(&self) -> Option<&Backtrace>

Returns a Backtrace that may be printed.
§

fn iter_chain(&self) -> ChainCompat<'_>where +

Fields§

§status: StatusCode§message: String

Trait Implementations§

source§

impl Clone for ServerError

source§

fn clone(&self) -> ServerError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ServerError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ServerError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for ServerError

source§

fn fmt(&self, __snafu_display_formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for ServerError

source§

fn catch_all(status: StatusCode, message: String) -> Self

source§

fn status(&self) -> StatusCode

source§

fn from_io_error(source: IoError) -> Self

source§

fn from_config_error(source: ConfigError) -> Self

source§

fn from_route_error<E: Display>(source: RouteError<E>) -> Self

source§

fn from_request_error(source: RequestError) -> Self

source§

fn from_socket_error<E: Display>(source: SocketError<E>) -> Self

source§

fn into_tide_error(self) -> Error

source§

fn from_server_error(source: Error) -> Self

source§

impl Error for ServerErrorwhere + Self: Debug + Display,

source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl ErrorCompat for ServerError

source§

fn backtrace(&self) -> Option<&Backtrace>

Returns a Backtrace that may be printed.
§

fn iter_chain(&self) -> ChainCompat<'_>where Self: AsErrorSource,

Returns an iterator for traversing the chain of errors, starting with the current error -and continuing with recursive calls to Error::source. Read more
source§

impl From<ConfigError> for ServerError

source§

fn from(source: ConfigError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for ServerError

source§

fn from(source: IoError) -> Self

Converts to this type from the input type.
source§

impl From<RequestError> for ServerError

source§

fn from(source: RequestError) -> Self

Converts to this type from the input type.
source§

impl<E: Display> From<RouteError<E>> for ServerError

source§

fn from(source: RouteError<E>) -> Self

Converts to this type from the input type.
source§

impl<E: Display> From<SocketError<E>> for ServerError

source§

fn from(source: SocketError<E>) -> Self

Converts to this type from the input type.
source§

impl PartialEq<ServerError> for ServerError

source§

fn eq(&self, other: &ServerError) -> bool

This method tests for self and other values to be equal, and is used +and continuing with recursive calls to Error::source. Read more
source§

impl From<ConfigError> for ServerError

source§

fn from(source: ConfigError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for ServerError

source§

fn from(source: IoError) -> Self

Converts to this type from the input type.
source§

impl From<RequestError> for ServerError

source§

fn from(source: RequestError) -> Self

Converts to this type from the input type.
source§

impl<E: Display> From<RouteError<E>> for ServerError

source§

fn from(source: RouteError<E>) -> Self

Converts to this type from the input type.
source§

impl<E: Display> From<SocketError<E>> for ServerError

source§

fn from(source: SocketError<E>) -> Self

Converts to this type from the input type.
source§

impl PartialEq<ServerError> for ServerError

source§

fn eq(&self, other: &ServerError) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for ServerError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for ServerError

source§

impl StructuralEq for ServerError

source§

impl StructuralPartialEq for ServerError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for ServerError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for ServerError

source§

impl StructuralEq for ServerError

source§

impl StructuralPartialEq for ServerError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> AsErrorSource for Twhere T: Error + 'static,

§

fn as_error_source(&self) -> &(dyn Error + 'static)

For maximum effectiveness, this needs to be called as a method to benefit from Rust’s automatic dereferencing of method diff --git a/tide_disco/error/trait.Error.html b/tide_disco/error/trait.Error.html index 18c56c92..d6caf663 100644 --- a/tide_disco/error/trait.Error.html +++ b/tide_disco/error/trait.Error.html @@ -1,7 +1,7 @@ -Error in tide_disco::error - Rust

Trait tide_disco::error::Error

source ·
pub trait Error: Error + Serialize + DeserializeOwned + Send + Sync + 'static {
+Error in tide_disco::error - Rust

Trait tide_disco::error::Error

source ·
pub trait Error: Error + Serialize + DeserializeOwned + Send + Sync + 'static {
     // Required methods
-    fn catch_all(status: StatusCode, msg: String) -> Self;
-    fn status(&self) -> StatusCode;
+    fn catch_all(status: StatusCode, msg: String) -> Self;
+    fn status(&self) -> StatusCode;
 
     // Provided methods
     fn from_io_error(source: IoError) -> Self { ... }
@@ -20,4 +20,4 @@
 

Other errors (those which don’t downcast to the API’s error type, such as errors generated from the [tide] framework) will be serialized as strings using their Display instance and encoded as an API error using the catch_all function.

-

Required Methods§

source

fn catch_all(status: StatusCode, msg: String) -> Self

source

fn status(&self) -> StatusCode

Provided Methods§

source

fn from_io_error(source: IoError) -> Self

source

fn from_config_error(source: ConfigError) -> Self

source

fn from_route_error<E: Display>(source: RouteError<E>) -> Self

source

fn from_request_error(source: RequestError) -> Self

source

fn from_socket_error<E: Display>(source: SocketError<E>) -> Self

source

fn into_tide_error(self) -> Error

source

fn from_server_error(source: Error) -> Self

Implementors§

\ No newline at end of file +

Required Methods§

source

fn catch_all(status: StatusCode, msg: String) -> Self

source

fn status(&self) -> StatusCode

Provided Methods§

source

fn from_io_error(source: IoError) -> Self

source

fn from_config_error(source: ConfigError) -> Self

source

fn from_route_error<E: Display>(source: RouteError<E>) -> Self

source

fn from_request_error(source: RequestError) -> Self

source

fn from_socket_error<E: Display>(source: SocketError<E>) -> Self

source

fn into_tide_error(self) -> Error

source

fn from_server_error(source: Error) -> Self

Implementors§

\ No newline at end of file diff --git a/tide_disco/fn.app_api_path.html b/tide_disco/fn.app_api_path.html index c477ea33..06372444 100644 --- a/tide_disco/fn.app_api_path.html +++ b/tide_disco/fn.app_api_path.html @@ -1 +1 @@ -app_api_path in tide_disco - Rust

Function tide_disco::app_api_path

source ·
pub fn app_api_path(org_name: &str, app_name: &str) -> PathBuf
\ No newline at end of file +app_api_path in tide_disco - Rust

Function tide_disco::app_api_path

source ·
pub fn app_api_path(org_name: &str, app_name: &str) -> PathBuf
\ No newline at end of file diff --git a/tide_disco/fn.check_api.html b/tide_disco/fn.check_api.html index 02379792..4c01ceef 100644 --- a/tide_disco/fn.check_api.html +++ b/tide_disco/fn.check_api.html @@ -1,4 +1,4 @@ -check_api in tide_disco - Rust

Function tide_disco::check_api

source ·
pub fn check_api(api: Value) -> bool
Expand description

Check api.toml for schema compliance errors

+check_api in tide_disco - Rust

Function tide_disco::check_api

source ·
pub fn check_api(api: Value) -> bool
Expand description

Check api.toml for schema compliance errors

Checks

\ No newline at end of file diff --git a/tide_disco/index.html b/tide_disco/index.html index 79bdc81c..b2d52fed 100644 --- a/tide_disco/index.html +++ b/tide_disco/index.html @@ -1,4 +1,4 @@ -tide_disco - Rust

Crate tide_disco

source ·
Expand description

Tide Disco is a web server framework with built-in discoverability support for +tide_disco - Rust

Crate tide_disco

source ·
Expand description

Tide Disco is a web server framework with built-in discoverability support for Tide

Overview

We say a system is discoverable if guesses and mistakes regarding usage are rewarded with @@ -175,7 +175,7 @@

Getting started

async fn handler(_req: RequestParams, state: &State) -> Result<u64, Error> { Ok(*state.read().await) }
-

Re-exports

Modules

Structs

Enums

Constants

Functions

Re-exports

Modules

Structs

Enums

Constants

Functions

  • Check api.toml for schema compliance errors
  • Compose the path to the application’s configuration file
  • Get the application configuration
  • Add routes from api.toml to the routefinder instance in tide-disco
  • Get the path to api.toml
  • Return a JSON expression with status 200 indicating the server is up and running. The JSON expression is normally {“status”: “Available”} When the server is running but unable to process requests diff --git a/tide_disco/method/trait.ReadState.html b/tide_disco/method/trait.ReadState.html index 49cb98a3..c46bc310 100644 --- a/tide_disco/method/trait.ReadState.html +++ b/tide_disco/method/trait.ReadState.html @@ -43,13 +43,13 @@
    Limitations
    ) -> Pin<Box<dyn Future<Output = T> + Send + 'async_trait>>where T: 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,
    source§

    impl<State: 'static + Send + Sync> ReadState for RwLock<State>

    §

    type State = State

    source§

    fn read<'life0, 'async_trait, T>( + 'life0: 'async_trait,

    source§

    impl<State: 'static + Send + Sync> ReadState for Mutex<State>

    §

    type State = State

    source§

    fn read<'life0, 'async_trait, T>( &'life0 self, op: impl 'async_trait + Send + for<'a> FnOnce(&'a Self::State) -> BoxFuture<'a, T> ) -> Pin<Box<dyn Future<Output = T> + Send + 'async_trait>>where T: 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,

    source§

    impl<State: 'static + Send + Sync> ReadState for Mutex<State>

    §

    type State = State

    source§

    fn read<'life0, 'async_trait, T>( + 'life0: 'async_trait,

    source§

    impl<State: 'static + Send + Sync> ReadState for RwLock<State>

    §

    type State = State

    source§

    fn read<'life0, 'async_trait, T>( &'life0 self, op: impl 'async_trait + Send + for<'a> FnOnce(&'a Self::State) -> BoxFuture<'a, T> ) -> Pin<Box<dyn Future<Output = T> + Send + 'async_trait>>where diff --git a/tide_disco/method/trait.WriteState.html b/tide_disco/method/trait.WriteState.html index cb4c4610..7f4dcf2e 100644 --- a/tide_disco/method/trait.WriteState.html +++ b/tide_disco/method/trait.WriteState.html @@ -30,19 +30,19 @@
    Limitations
    }

Like many function parameters in tide_disco, the function to apply to the state is also required to return a boxed future.

-

Implementations on Foreign Types§

source§

impl<State: 'static + Send + Sync> WriteState for RwLock<State>

source§

fn write<'life0, 'async_trait, T>( +

Implementations on Foreign Types§

source§

impl<State: 'static + Send + Sync> WriteState for Mutex<State>

source§

fn write<'life0, 'async_trait, T>( &'life0 self, op: impl 'async_trait + Send + for<'a> FnOnce(&'a mut Self::State) -> BoxFuture<'a, T> ) -> Pin<Box<dyn Future<Output = T> + Send + 'async_trait>>where T: 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,

source§

impl<W: Send + Sync + WriteState> WriteState for Arc<W>

source§

fn write<'life0, 'async_trait, T>( + 'life0: 'async_trait,

source§

impl<State: 'static + Send + Sync> WriteState for RwLock<State>

source§

fn write<'life0, 'async_trait, T>( &'life0 self, op: impl 'async_trait + Send + for<'a> FnOnce(&'a mut Self::State) -> BoxFuture<'a, T> ) -> Pin<Box<dyn Future<Output = T> + Send + 'async_trait>>where T: 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,

source§

impl<State: 'static + Send + Sync> WriteState for Mutex<State>

source§

fn write<'life0, 'async_trait, T>( + 'life0: 'async_trait,

source§

impl<W: Send + Sync + WriteState> WriteState for Arc<W>

source§

fn write<'life0, 'async_trait, T>( &'life0 self, op: impl 'async_trait + Send + for<'a> FnOnce(&'a mut Self::State) -> BoxFuture<'a, T> ) -> Pin<Box<dyn Future<Output = T> + Send + 'async_trait>>where diff --git a/tide_disco/request/enum.RequestError.html b/tide_disco/request/enum.RequestError.html index 308e3406..ce13cb9b 100644 --- a/tide_disco/request/enum.RequestError.html +++ b/tide_disco/request/enum.RequestError.html @@ -27,12 +27,12 @@ actual: String, expected: String, }, -}

Variants§

§

MissingParam

Fields

§name: String
§

IncorrectParamType

Fields

§

IntegerOverflow

Fields

§value: u128
§expected: String
§

Json

§

Bincode

§

TaggedBase64

Fields

§reason: String
§

UnsupportedContentType

§

Http

Fields

§reason: String
§

InvalidParam

Fields

§param_type: String
§reason: String
§

TagMismatch

Fields

§actual: String
§expected: String

Trait Implementations§

source§

impl Clone for RequestError

source§

fn clone(&self) -> RequestError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RequestError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for RequestError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for RequestError

source§

fn fmt(&self, __snafu_display_formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for RequestErrorwhere +}

Variants§

§

MissingParam

Fields

§name: String
§

IncorrectParamType

Fields

§

IntegerOverflow

Fields

§value: u128
§expected: String
§

Json

§

Bincode

§

TaggedBase64

Fields

§reason: String
§

UnsupportedContentType

§

Http

Fields

§reason: String
§

InvalidParam

Fields

§param_type: String
§reason: String
§

TagMismatch

Fields

§actual: String
§expected: String

Trait Implementations§

source§

impl Clone for RequestError

source§

fn clone(&self) -> RequestError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RequestError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for RequestError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for RequestError

source§

fn fmt(&self, __snafu_display_formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for RequestErrorwhere Self: Debug + Display,

source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl ErrorCompat for RequestError

source§

fn backtrace(&self) -> Option<&Backtrace>

Returns a Backtrace that may be printed.
§

fn iter_chain(&self) -> ChainCompat<'_>where Self: AsErrorSource,

Returns an iterator for traversing the chain of errors, starting with the current error -and continuing with recursive calls to Error::source. Read more
source§

impl<E> From<RequestError> for RouteError<E>

source§

fn from(err: RequestError) -> Self

Converts to this type from the input type.
source§

impl From<RequestError> for ServerError

source§

fn from(source: RequestError) -> Self

Converts to this type from the input type.
source§

impl<E> From<RequestError> for SocketError<E>

source§

fn from(err: RequestError) -> Self

Converts to this type from the input type.
source§

impl Serialize for RequestError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where +and continuing with recursive calls to Error::source. Read more

source§

impl<E> From<RequestError> for RouteError<E>

source§

fn from(err: RequestError) -> Self

Converts to this type from the input type.
source§

impl From<RequestError> for ServerError

source§

fn from(source: RequestError) -> Self

Converts to this type from the input type.
source§

impl<E> From<RequestError> for SocketError<E>

source§

fn from(err: RequestError) -> Self

Converts to this type from the input type.
source§

impl Serialize for RequestError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> AsErrorSource for Twhere T: Error + 'static,

§

fn as_error_source(&self) -> &(dyn Error + 'static)

For maximum effectiveness, this needs to be called as a method diff --git a/tide_disco/route/enum.RouteError.html b/tide_disco/route/enum.RouteError.html index a20bd9e3..58a58d88 100644 --- a/tide_disco/route/enum.RouteError.html +++ b/tide_disco/route/enum.RouteError.html @@ -1,4 +1,4 @@ -RouteError in tide_disco::route - Rust
pub enum RouteError<E> {
+RouteError in tide_disco::route - Rust
pub enum RouteError<E> {
     AppSpecific(E),
     Request(RequestError),
     UnsupportedContentType,
@@ -13,7 +13,7 @@
 

RouteError encapsulates application specific errors E returned by the user-installed handler itself. It also includes errors in the route dispatching logic, such as failures to turn the result of the user-installed handler into an HTTP response.

-

Variants§

§

AppSpecific(E)

§

Request(RequestError)

§

UnsupportedContentType

§

Bincode(Error)

§

Json(Error)

§

Tide(Error)

§

ExportMetrics(String)

§

IncorrectMethod

Fields

§expected: Method

Implementations§

source§

impl<E> RouteError<E>

source

pub fn status(&self) -> StatusCode

source

pub fn map_app_specific<E2>(self, f: impl Fn(E) -> E2) -> RouteError<E2>

Trait Implementations§

source§

impl<E: Display> Display for RouteError<E>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<E> From<RequestError> for RouteError<E>

source§

fn from(err: RequestError) -> Self

Converts to this type from the input type.
source§

impl<E: Display> From<RouteError<E>> for ServerError

source§

fn from(source: RouteError<E>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<E> !RefUnwindSafe for RouteError<E>

§

impl<E> Send for RouteError<E>where +

Variants§

§

AppSpecific(E)

§

Request(RequestError)

§

UnsupportedContentType

§

Bincode(Error)

§

Json(Error)

§

Tide(Error)

§

ExportMetrics(String)

§

IncorrectMethod

Fields

§expected: Method

Implementations§

source§

impl<E> RouteError<E>

source

pub fn status(&self) -> StatusCode

source

pub fn map_app_specific<E2>(self, f: impl Fn(E) -> E2) -> RouteError<E2>

Trait Implementations§

source§

impl<E: Display> Display for RouteError<E>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<E> From<RequestError> for RouteError<E>

source§

fn from(err: RequestError) -> Self

Converts to this type from the input type.
source§

impl<E: Display> From<RouteError<E>> for ServerError

source§

fn from(source: RouteError<E>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<E> !RefUnwindSafe for RouteError<E>

§

impl<E> Send for RouteError<E>where E: Send,

§

impl<E> Sync for RouteError<E>where E: Sync,

§

impl<E> Unpin for RouteError<E>where E: Unpin,

§

impl<E> !UnwindSafe for RouteError<E>

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/tide_disco/route/enum.RouteParseError.html b/tide_disco/route/enum.RouteParseError.html index 22d6b127..c9ef0cf4 100644 --- a/tide_disco/route/enum.RouteParseError.html +++ b/tide_disco/route/enum.RouteParseError.html @@ -1,4 +1,4 @@ -RouteParseError in tide_disco::route - Rust
pub enum RouteParseError {
+RouteParseError in tide_disco::route - Rust
pub enum RouteParseError {
     MissingPathArray,
     PathElementError,
     InvalidTypeExpression,
@@ -10,8 +10,8 @@
     IncorrectParamType,
     IncorrectDocType,
     RouteMustBeTable,
-}

Variants§

§

MissingPathArray

§

PathElementError

§

InvalidTypeExpression

§

UnrecognizedType

§

MethodMustBeString

§

InvalidMethod

§

MissingPath

§

IncorrectPathType

§

IncorrectParamType

§

IncorrectDocType

§

RouteMustBeTable

Trait Implementations§

source§

impl Clone for RouteParseError

source§

fn clone(&self) -> RouteParseError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RouteParseError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for RouteParseError

source§

fn fmt(&self, __snafu_display_formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for RouteParseErrorwhere - Self: Debug + Display,

source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl ErrorCompat for RouteParseError

source§

fn backtrace(&self) -> Option<&Backtrace>

Returns a Backtrace that may be printed.
§

fn iter_chain(&self) -> ChainCompat<'_>where +}

Variants§

§

MissingPathArray

§

PathElementError

§

InvalidTypeExpression

§

UnrecognizedType

§

MethodMustBeString

§

InvalidMethod

§

MissingPath

§

IncorrectPathType

§

IncorrectParamType

§

IncorrectDocType

§

RouteMustBeTable

Trait Implementations§

source§

impl Clone for RouteParseError

source§

fn clone(&self) -> RouteParseError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RouteParseError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for RouteParseError

source§

fn fmt(&self, __snafu_display_formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for RouteParseErrorwhere + Self: Debug + Display,

source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl ErrorCompat for RouteParseError

source§

fn backtrace(&self) -> Option<&Backtrace>

Returns a Backtrace that may be printed.
§

fn iter_chain(&self) -> ChainCompat<'_>where Self: AsErrorSource,

Returns an iterator for traversing the chain of errors, starting with the current error and continuing with recursive calls to Error::source. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/tide_disco/route/index.html b/tide_disco/route/index.html index a7f9a8af..0301850a 100644 --- a/tide_disco/route/index.html +++ b/tide_disco/route/index.html @@ -1 +1 @@ -tide_disco::route - Rust

Module tide_disco::route

source ·

Structs

  • All the information we need to parse, typecheck, and dispatch a request.

Enums

\ No newline at end of file +tide_disco::route - Rust

Module tide_disco::route

source ·

Structs

  • All the information we need to parse, typecheck, and dispatch a request.

Enums

\ No newline at end of file diff --git a/tide_disco/route/struct.MapErr.html b/tide_disco/route/struct.MapErr.html index debb1090..4f630c1d 100644 --- a/tide_disco/route/struct.MapErr.html +++ b/tide_disco/route/struct.MapErr.html @@ -1,4 +1,4 @@ -MapErr in tide_disco::route - Rust

Struct tide_disco::route::MapErr

source ·
pub struct MapErr<H, F, E> { /* private fields */ }

Auto Trait Implementations§

§

impl<H, F, E> RefUnwindSafe for MapErr<H, F, E>where +MapErr in tide_disco::route - Rust

Struct tide_disco::route::MapErr

source ·
pub struct MapErr<H, F, E> { /* private fields */ }

Auto Trait Implementations§

§

impl<H, F, E> RefUnwindSafe for MapErr<H, F, E>where E: RefUnwindSafe, F: RefUnwindSafe, H: RefUnwindSafe,

§

impl<H, F, E> Send for MapErr<H, F, E>where diff --git a/tide_disco/route/struct.Route.html b/tide_disco/route/struct.Route.html index 4068710d..8518683f 100644 --- a/tide_disco/route/struct.Route.html +++ b/tide_disco/route/struct.Route.html @@ -1,9 +1,9 @@ -Route in tide_disco::route - Rust

Struct tide_disco::route::Route

source ·
pub struct Route<State, Error> { /* private fields */ }
Expand description

All the information we need to parse, typecheck, and dispatch a request.

+Route in tide_disco::route - Rust

Struct tide_disco::route::Route

source ·
pub struct Route<State, Error> { /* private fields */ }
Expand description

All the information we need to parse, typecheck, and dispatch a request.

A Route is a structured representation of a route specification from an api.toml API spec. It can be parsed from a TOML specification, and it also includes an optional handler function which the Rust server can register. Routes with no handler will use a default handler that simply returns information about the route.

-

Implementations§

source§

impl<State, Error> Route<State, Error>

source

pub fn new( +

Implementations§

source§

impl<State, Error> Route<State, Error>

source

pub fn new( name: String, spec: &Value, meta: Arc<ApiMetadata> @@ -19,22 +19,22 @@
  • METHOD: the method to use to dispatch the route (default GET)
  • DOC: Markdown description of the route
  • -

    source

    pub fn name(&self) -> String

    The name of the route.

    +
    source

    pub fn name(&self) -> String

    The name of the route.

    This is the name used to identify the route when binding a handler. It is also the first segment of all of the URL patterns for this route.

    -
    source

    pub fn patterns(&self) -> impl Iterator<Item = &String>

    Iterate over route patterns.

    -
    source

    pub fn method(&self) -> Method

    The HTTP method of the route.

    -
    source

    pub fn has_handler(&self) -> bool

    Whether a non-default handler has been bound to this route.

    -
    source

    pub fn params(&self) -> &[RequestParam]

    Get all formal parameters.

    -
    source

    pub fn map_err<Error2>( +

    source

    pub fn patterns(&self) -> impl Iterator<Item = &String>

    Iterate over route patterns.

    +
    source

    pub fn method(&self) -> Method

    The HTTP method of the route.

    +
    source

    pub fn has_handler(&self) -> bool

    Whether a non-default handler has been bound to this route.

    +
    source

    pub fn params(&self) -> &[RequestParam]

    Get all formal parameters.

    +
    source

    pub fn map_err<Error2>( self, f: impl 'static + Send + Sync + Fn(Error) -> Error2 ) -> Route<State, Error2>where State: 'static + Send + Sync, Error: 'static + Send + Sync, Error2: 'static,

    Create a new route with a modified error type.

    -
    source

    pub fn documentation(&self) -> Html

    Compose an HTML fragment documenting all the variations on this route.

    -

    Trait Implementations§

    source§

    impl<State, Error> Debug for Route<State, Error>

    source§

    fn fmt(&self, __f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl<State, Error> !RefUnwindSafe for Route<State, Error>

    §

    impl<State, Error> Send for Route<State, Error>

    §

    impl<State, Error> Sync for Route<State, Error>

    §

    impl<State, Error> Unpin for Route<State, Error>

    §

    impl<State, Error> !UnwindSafe for Route<State, Error>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    source

    pub fn documentation(&self) -> Html

    Compose an HTML fragment documenting all the variations on this route.

    +

    Trait Implementations§

    source§

    impl<State, Error> Debug for Route<State, Error>

    source§

    fn fmt(&self, __f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl<State, Error> !RefUnwindSafe for Route<State, Error>

    §

    impl<State, Error> Send for Route<State, Error>

    §

    impl<State, Error> Sync for Route<State, Error>

    §

    impl<State, Error> Unpin for Route<State, Error>

    §

    impl<State, Error> !UnwindSafe for Route<State, Error>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/tide_disco/sidebar-items.js b/tide_disco/sidebar-items.js index dba579e9..febe2b42 100644 --- a/tide_disco/sidebar-items.js +++ b/tide_disco/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":["SERVER_STARTUP_RETRIES","SERVER_STARTUP_SLEEP_MS"],"enum":["DiscoKey","HealthStatus","StatusCode","UrlSegment"],"fn":["app_api_path","check_api","compose_config_path","compose_settings","configure_router","get_api_path","healthcheck","init_logging","load_api","org_data_path","wait_for_server"],"mod":["api","app","error","healthcheck","method","metrics","request","route","socket"],"struct":["DiscoArgs","ServerState","Url"],"type":["AppServerState","AppState","Html"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":["SERVER_STARTUP_RETRIES","SERVER_STARTUP_SLEEP_MS"],"enum":["DiscoKey","HealthStatus","UrlSegment"],"fn":["app_api_path","check_api","compose_config_path","compose_settings","configure_router","get_api_path","healthcheck","init_logging","load_api","org_data_path","wait_for_server"],"mod":["api","app","error","healthcheck","method","metrics","request","route","socket","status"],"struct":["DiscoArgs","ServerState","Url"],"type":["AppServerState","AppState","Html"]}; \ No newline at end of file diff --git a/tide_disco/socket/enum.SocketError.html b/tide_disco/socket/enum.SocketError.html index 68ded5aa..545f98e6 100644 --- a/tide_disco/socket/enum.SocketError.html +++ b/tide_disco/socket/enum.SocketError.html @@ -1,4 +1,4 @@ -SocketError in tide_disco::socket - Rust
    pub enum SocketError<E> {
    +SocketError in tide_disco::socket - Rust
    pub enum SocketError<E> {
         AppSpecific(E),
         Request(RequestError),
         Bincode(Error),
    @@ -14,7 +14,7 @@
     

    SocketError encapsulates application specific errors E returned by the user-installed handler itself. It also includes errors in the socket protocol, such as failures to turn messages sent by the user-installed handler into WebSockets messages.

    -

    Variants§

    §

    AppSpecific(E)

    §

    Request(RequestError)

    §

    Bincode(Error)

    §

    Json(Error)

    §

    WebSockets(Error)

    §

    UnsupportedMessageType

    §

    Closed

    §

    IncorrectMethod

    Fields

    §expected: Method
    §actual: Method

    Implementations§

    source§

    impl<E> SocketError<E>

    source

    pub fn status(&self) -> StatusCode

    source

    pub fn code(&self) -> CloseCode

    source

    pub fn map_app_specific<E2>(self, f: &impl Fn(E) -> E2) -> SocketError<E2>

    Trait Implementations§

    source§

    impl<E: Debug> Debug for SocketError<E>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<E: Display> Display for SocketError<E>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<E> From<Box<ErrorKind, Global>> for SocketError<E>

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl<E> From<Error> for SocketError<E>

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl<E> From<Error> for SocketError<E>

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl<E> From<RequestError> for SocketError<E>

    source§

    fn from(err: RequestError) -> Self

    Converts to this type from the input type.
    source§

    impl<E: Display> From<SocketError<E>> for ServerError

    source§

    fn from(source: SocketError<E>) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl<E> !RefUnwindSafe for SocketError<E>

    §

    impl<E> Send for SocketError<E>where +

    Variants§

    §

    AppSpecific(E)

    §

    Request(RequestError)

    §

    Bincode(Error)

    §

    Json(Error)

    §

    WebSockets(Error)

    §

    UnsupportedMessageType

    §

    Closed

    §

    IncorrectMethod

    Fields

    §expected: Method
    §actual: Method

    Implementations§

    source§

    impl<E> SocketError<E>

    source

    pub fn status(&self) -> StatusCode

    source

    pub fn code(&self) -> CloseCode

    source

    pub fn map_app_specific<E2>(self, f: &impl Fn(E) -> E2) -> SocketError<E2>

    Trait Implementations§

    source§

    impl<E: Debug> Debug for SocketError<E>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<E: Display> Display for SocketError<E>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<E> From<Box<ErrorKind, Global>> for SocketError<E>

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl<E> From<Error> for SocketError<E>

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl<E> From<Error> for SocketError<E>

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl<E> From<RequestError> for SocketError<E>

    source§

    fn from(err: RequestError) -> Self

    Converts to this type from the input type.
    source§

    impl<E: Display> From<SocketError<E>> for ServerError

    source§

    fn from(source: SocketError<E>) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl<E> !RefUnwindSafe for SocketError<E>

    §

    impl<E> Send for SocketError<E>where E: Send,

    §

    impl<E> Sync for SocketError<E>where E: Sync,

    §

    impl<E> Unpin for SocketError<E>where E: Unpin,

    §

    impl<E> !UnwindSafe for SocketError<E>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/tide_disco/socket/index.html b/tide_disco/socket/index.html index 61ad1384..e0f179c6 100644 --- a/tide_disco/socket/index.html +++ b/tide_disco/socket/index.html @@ -1,2 +1,2 @@ -tide_disco::socket - Rust

    Module tide_disco::socket

    source ·
    Expand description

    An interface for asynchronous communication with clients, using WebSockets.

    +tide_disco::socket - Rust

    Module tide_disco::socket

    source ·
    Expand description

    An interface for asynchronous communication with clients, using WebSockets.

    Structs

    • A connection facilitating bi-directional, asynchronous communication with a client.

    Enums

    \ No newline at end of file diff --git a/tide_disco/socket/struct.Connection.html b/tide_disco/socket/struct.Connection.html index 37407df5..de686f35 100644 --- a/tide_disco/socket/struct.Connection.html +++ b/tide_disco/socket/struct.Connection.html @@ -1,18 +1,18 @@ -Connection in tide_disco::socket - Rust
    pub struct Connection<ToClient: ?Sized, FromClient, Error> { /* private fields */ }
    Expand description

    A connection facilitating bi-directional, asynchronous communication with a client.

    +Connection in tide_disco::socket - Rust
    pub struct Connection<ToClient: ?Sized, FromClient, Error> { /* private fields */ }
    Expand description

    A connection facilitating bi-directional, asynchronous communication with a client.

    Connection implements [Stream], which can be used to receive FromClient messages from the client, and [Sink] which can be used to send ToClient messages to the client.

    -

    Trait Implementations§

    source§

    impl<ToClient: ?Sized, FromClient, Error> Drop for Connection<ToClient, FromClient, Error>

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source§

    impl<ToClient: Serialize + ?Sized, FromClient, E> Sink<&ToClient> for Connection<ToClient, FromClient, E>

    §

    type Error = SocketError<E>

    The type of value produced by the sink when an error occurs.
    source§

    fn poll_ready( +

    Trait Implementations§

    source§

    impl<ToClient: ?Sized, FromClient, Error> Drop for Connection<ToClient, FromClient, Error>

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source§

    impl<ToClient: Serialize + ?Sized, FromClient, E> Sink<&ToClient> for Connection<ToClient, FromClient, E>

    §

    type Error = SocketError<E>

    The type of value produced by the sink when an error occurs.
    source§

    fn poll_ready( self: Pin<&mut Self>, cx: &mut Context<'_> -) -> Poll<Result<(), Self::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    source§

    fn start_send(self: Pin<&mut Self>, item: &ToClient) -> Result<(), Self::Error>

    Begin the process of sending a value to the sink. +) -> Poll<Result<(), Self::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    source§

    fn start_send(self: Pin<&mut Self>, item: &ToClient) -> Result<(), Self::Error>

    Begin the process of sending a value to the sink. Each call to this function must be preceded by a successful call to -poll_ready which returned Poll::Ready(Ok(())). Read more
    source§

    fn poll_flush( +poll_ready which returned Poll::Ready(Ok(())). Read more

    source§

    fn poll_flush( self: Pin<&mut Self>, cx: &mut Context<'_> -) -> Poll<Result<(), Self::Error>>

    Flush any remaining output from this sink. Read more
    source§

    fn poll_close( +) -> Poll<Result<(), Self::Error>>

    Flush any remaining output from this sink. Read more
    source§

    fn poll_close( self: Pin<&mut Self>, cx: &mut Context<'_> -) -> Poll<Result<(), Self::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    source§

    impl<ToClient: ?Sized, FromClient: DeserializeOwned, E> Stream for Connection<ToClient, FromClient, E>

    §

    type Item = Result<FromClient, SocketError<E>>

    Values yielded by the stream.
    source§

    fn poll_next( +) -> Poll<Result<(), Self::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    source§

    impl<ToClient: ?Sized, FromClient: DeserializeOwned, E> Stream for Connection<ToClient, FromClient, E>

    §

    type Item = Result<FromClient, SocketError<E>>

    Values yielded by the stream.
    source§

    fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_> ) -> Poll<Option<Self::Item>>

    Attempt to pull out the next value of this stream, registering the diff --git a/tide_disco/enum.StatusCode.html b/tide_disco/status/enum.StatusCode.html similarity index 53% rename from tide_disco/enum.StatusCode.html rename to tide_disco/status/enum.StatusCode.html index 75002e35..cea25879 100644 --- a/tide_disco/enum.StatusCode.html +++ b/tide_disco/status/enum.StatusCode.html @@ -1,4 +1,4 @@ -StatusCode in tide_disco - Rust
    #[repr(u16)]
    pub enum StatusCode { +StatusCode in tide_disco::status - Rust
    #[repr(u16)]
    pub enum StatusCode {
    Show 59 variants Continue, SwitchingProtocols, EarlyHints, @@ -58,9 +58,9 @@ LoopDetected, NotExtended, NetworkAuthenticationRequired, -
    }
    Expand description

    HTTP response status codes.

    -

    As defined by rfc7231 section 6. -Read more

    +
    }
    Expand description

    Serializable HTTP status code.

    +

    The deserialization implementation for StatusCode uses deserialize_any unnecessarily, +which prevents it from working with bincode. We define our own version without this problem.

    Variants§

    §

    Continue

    100 Continue

    This interim response indicates that everything so far is OK and that the client should continue the request, or ignore the response if @@ -295,37 +295,47 @@

    §

    NetworkAuthenticationRequired

    511 Network Authentication Required

    The 511 status code indicates that the client needs to authenticate to gain network access.

    -

    Implementations§

    §

    impl StatusCode

    pub fn is_informational(&self) -> bool

    Returns true if the status code is 1xx range.

    +

    Implementations§

    source§

    impl StatusCode

    source

    pub fn is_informational(self) -> bool

    Returns true if the status code is 1xx range.

    If this returns true it indicates that the request was received, continuing process.

    -

    pub fn is_success(&self) -> bool

    Returns true if the status code is the 2xx range.

    +
    source

    pub fn is_success(self) -> bool

    Returns true if the status code is the 2xx range.

    If this returns true it indicates that the request was successfully received, understood, and accepted.

    -

    pub fn is_redirection(&self) -> bool

    Returns true if the status code is the 3xx range.

    +
    source

    pub fn is_redirection(self) -> bool

    Returns true if the status code is the 3xx range.

    If this returns true it indicates that further action needs to be taken in order to complete the request.

    -

    pub fn is_client_error(&self) -> bool

    Returns true if the status code is the 4xx range.

    +
    source

    pub fn is_client_error(self) -> bool

    Returns true if the status code is the 4xx range.

    If this returns true it indicates that the request contains bad syntax or cannot be fulfilled.

    -

    pub fn is_server_error(&self) -> bool

    Returns true if the status code is the 5xx range.

    +
    source

    pub fn is_server_error(self) -> bool

    Returns true if the status code is the 5xx range.

    If this returns true it indicates that the server failed to fulfill an apparently valid request.

    -

    pub fn canonical_reason(&self) -> &'static str

    The canonical reason for a given status code

    -

    Trait Implementations§

    §

    impl Clone for StatusCode

    §

    fn clone(&self) -> StatusCode

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StatusCode

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for StatusCode

    §

    fn deserialize<D>( - deserializer: D -) -> Result<StatusCode, <D as Deserializer<'de>>::Error>where - D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl Display for StatusCode

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Hash for StatusCode

    §

    fn hash<__H>(&self, state: &mut __H)where - __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    source

    pub fn canonical_reason(self) -> &'static str

    The canonical reason for a given status code

    +

    Trait Implementations§

    source§

    impl Clone for StatusCode

    source§

    fn clone(&self) -> StatusCode

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatusCode

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for StatusCode

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Display for StatusCode

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<StatusCode> for StatusCode

    source§

    fn from(code: StatusCode) -> Self

    Converts to this type from the input type.
    source§

    impl From<StatusCode> for StatusCode

    source§

    fn from(code: StatusCode) -> Self

    Converts to this type from the input type.
    source§

    impl From<StatusCode> for u16

    source§

    fn from(code: StatusCode) -> Self

    Converts to this type from the input type.
    source§

    impl FromPrimitive for StatusCode

    source§

    fn from_i64(n: i64) -> Option<Self>

    Converts an i64 to return an optional value of this type. If the +value cannot be represented by this type, then None is returned.
    source§

    fn from_u64(n: u64) -> Option<Self>

    Converts an u64 to return an optional value of this type. If the +value cannot be represented by this type, then None is returned.
    source§

    fn from_isize(n: isize) -> Option<Self>

    Converts an isize to return an optional value of this type. If the +value cannot be represented by this type, then None is returned.
    source§

    fn from_i8(n: i8) -> Option<Self>

    Converts an i8 to return an optional value of this type. If the +value cannot be represented by this type, then None is returned.
    source§

    fn from_i16(n: i16) -> Option<Self>

    Converts an i16 to return an optional value of this type. If the +value cannot be represented by this type, then None is returned.
    source§

    fn from_i32(n: i32) -> Option<Self>

    Converts an i32 to return an optional value of this type. If the +value cannot be represented by this type, then None is returned.
    source§

    fn from_i128(n: i128) -> Option<Self>

    Converts an i128 to return an optional value of this type. If the +value cannot be represented by this type, then None is returned. Read more
    source§

    fn from_usize(n: usize) -> Option<Self>

    Converts a usize to return an optional value of this type. If the +value cannot be represented by this type, then None is returned.
    source§

    fn from_u8(n: u8) -> Option<Self>

    Converts an u8 to return an optional value of this type. If the +value cannot be represented by this type, then None is returned.
    source§

    fn from_u16(n: u16) -> Option<Self>

    Converts an u16 to return an optional value of this type. If the +value cannot be represented by this type, then None is returned.
    source§

    fn from_u32(n: u32) -> Option<Self>

    Converts an u32 to return an optional value of this type. If the +value cannot be represented by this type, then None is returned.
    source§

    fn from_u128(n: u128) -> Option<Self>

    Converts an u128 to return an optional value of this type. If the +value cannot be represented by this type, then None is returned. Read more
    source§

    fn from_f32(n: f32) -> Option<Self>

    Converts a f32 to return an optional value of this type. If the +value cannot be represented by this type, then None is returned.
    source§

    fn from_f64(n: f64) -> Option<Self>

    Converts a f64 to return an optional value of this type. If the +value cannot be represented by this type, then None is returned. Read more
    source§

    impl Hash for StatusCode

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    §

    impl PartialEq<StatusCode> for StatusCode

    §

    fn eq(&self, other: &StatusCode) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl PartialEq<u16> for StatusCode

    §

    fn eq(&self, other: &u16) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,
    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq<StatusCode> for StatusCode

    source§

    fn eq(&self, other: &StatusCode) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for StatusCode

    §

    fn serialize<S>( - &self, - serializer: S -) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where - S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl TryFrom<u16> for StatusCode

    §

    type Error = Error

    The type returned in the event of a conversion error.
    §

    fn try_from(num: u16) -> Result<StatusCode, <StatusCode as TryFrom<u16>>::Error>

    Performs the conversion.
    §

    impl Copy for StatusCode

    §

    impl Eq for StatusCode

    §

    impl StructuralEq for StatusCode

    §

    impl StructuralPartialEq for StatusCode

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for StatusCode

    §

    impl Send for StatusCode

    §

    impl Sync for StatusCode

    §

    impl Unpin for StatusCode

    §

    impl UnwindSafe for StatusCode

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl PartialEq<StatusCode> for StatusCode

    source§

    fn eq(&self, other: &StatusCode) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialEq<StatusCode> for StatusCode

    source§

    fn eq(&self, other: &StatusCode) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for StatusCode

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TryFrom<u16> for StatusCode

    §

    type Error = OutOfRangeError

    The type returned in the event of a conversion error.
    source§

    fn try_from(code: u16) -> Result<Self, Self::Error>

    Performs the conversion.
    source§

    impl Copy for StatusCode

    source§

    impl Eq for StatusCode

    source§

    impl StructuralEq for StatusCode

    source§

    impl StructuralPartialEq for StatusCode

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for StatusCode

    §

    impl Send for StatusCode

    §

    impl Sync for StatusCode

    §

    impl Unpin for StatusCode

    §

    impl UnwindSafe for StatusCode

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for Twhere @@ -335,7 +345,7 @@ Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + K: Borrow<Q> + ?Sized,
    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an diff --git a/tide_disco/status/index.html b/tide_disco/status/index.html new file mode 100644 index 00000000..83969020 --- /dev/null +++ b/tide_disco/status/index.html @@ -0,0 +1 @@ +tide_disco::status - Rust

    Module tide_disco::status

    source ·

    Structs

    Enums

    \ No newline at end of file diff --git a/tide_disco/status/sidebar-items.js b/tide_disco/status/sidebar-items.js new file mode 100644 index 00000000..75e51b1c --- /dev/null +++ b/tide_disco/status/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":["StatusCode"],"struct":["OutOfRangeError"]}; \ No newline at end of file diff --git a/tide_disco/status/struct.OutOfRangeError.html b/tide_disco/status/struct.OutOfRangeError.html new file mode 100644 index 00000000..03f9e03c --- /dev/null +++ b/tide_disco/status/struct.OutOfRangeError.html @@ -0,0 +1,31 @@ +OutOfRangeError in tide_disco::status - Rust
    pub struct OutOfRangeError;

    Trait Implementations§

    source§

    impl Clone for OutOfRangeError

    source§

    fn clone(&self) -> OutOfRangeError

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for OutOfRangeError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for OutOfRangeError

    source§

    fn fmt(&self, __snafu_display_formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for OutOfRangeErrorwhere + Self: Debug + Display,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl ErrorCompat for OutOfRangeError

    source§

    fn backtrace(&self) -> Option<&Backtrace>

    Returns a Backtrace that may be printed.
    §

    fn iter_chain(&self) -> ChainCompat<'_>where + Self: AsErrorSource,

    Returns an iterator for traversing the chain of errors, +starting with the current error +and continuing with recursive calls to Error::source. Read more
    source§

    impl Copy for OutOfRangeError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> AsErrorSource for Twhere + T: Error + 'static,

    §

    fn as_error_source(&self) -> &(dyn Error + 'static)

    For maximum effectiveness, this needs to be called as a method +to benefit from Rust’s automatic dereferencing of method +receivers.
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> Same<T> for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    \ No newline at end of file diff --git a/tide_disco/struct.DiscoArgs.html b/tide_disco/struct.DiscoArgs.html index 06ad64f6..ed0ac2dd 100644 --- a/tide_disco/struct.DiscoArgs.html +++ b/tide_disco/struct.DiscoArgs.html @@ -1,16 +1,16 @@ -DiscoArgs in tide_disco - Rust

    Struct tide_disco::DiscoArgs

    source ·
    pub struct DiscoArgs {
    +DiscoArgs in tide_disco - Rust

    Struct tide_disco::DiscoArgs

    source ·
    pub struct DiscoArgs {
         pub base_url: Option<Url>,
         pub api_toml: Option<PathBuf>,
         pub ansi_color: Option<bool>,
     }

    Fields§

    §base_url: Option<Url>

    Server address

    §api_toml: Option<PathBuf>

    HTTP routes

    §ansi_color: Option<bool>

    If true, log in color. Otherwise, no color.

    -

    Trait Implementations§

    source§

    impl Args for DiscoArgs

    source§

    fn group_id() -> Option<Id>

    Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
    source§

    fn augment_args<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can instantiate Self. Read more
    source§

    fn augment_args_for_update<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can update self. Read more
    source§

    impl Debug for DiscoArgs

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromArgMatches for DiscoArgs

    source§

    fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn from_arg_matches_mut( +

    Trait Implementations§

    source§

    impl Args for DiscoArgs

    source§

    fn group_id() -> Option<Id>

    Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
    source§

    fn augment_args<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can instantiate Self. Read more
    source§

    fn augment_args_for_update<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can update self. Read more
    source§

    impl Debug for DiscoArgs

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromArgMatches for DiscoArgs

    source§

    fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches -) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn update_from_arg_matches( +) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches -) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    fn update_from_arg_matches_mut( +) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches ) -> Result<(), Error>

    Assign values from ArgMatches to self.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/tide_disco/struct.ServerState.html b/tide_disco/struct.ServerState.html index 2b84e98b..f3a0ff3c 100644 --- a/tide_disco/struct.ServerState.html +++ b/tide_disco/struct.ServerState.html @@ -1,8 +1,8 @@ -ServerState in tide_disco - Rust

    Struct tide_disco::ServerState

    source ·
    pub struct ServerState<AppState> {
    +ServerState in tide_disco - Rust

    Struct tide_disco::ServerState

    source ·
    pub struct ServerState<AppState> {
         pub health_status: Arc<RwLock<HealthStatus>>,
         pub app_state: AppState,
         pub router: Arc<Router<usize>>,
    -}

    Fields§

    §health_status: Arc<RwLock<HealthStatus>>§app_state: AppState§router: Arc<Router<usize>>

    Trait Implementations§

    source§

    impl<AppState: Clone> Clone for ServerState<AppState>

    source§

    fn clone(&self) -> ServerState<AppState>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Auto Trait Implementations§

    §

    impl<AppState> !RefUnwindSafe for ServerState<AppState>

    §

    impl<AppState> Send for ServerState<AppState>where +}

    Fields§

    §health_status: Arc<RwLock<HealthStatus>>§app_state: AppState§router: Arc<Router<usize>>

    Trait Implementations§

    source§

    impl<AppState: Clone> Clone for ServerState<AppState>

    source§

    fn clone(&self) -> ServerState<AppState>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Auto Trait Implementations§

    §

    impl<AppState> !RefUnwindSafe for ServerState<AppState>

    §

    impl<AppState> Send for ServerState<AppState>where AppState: Send,

    §

    impl<AppState> Sync for ServerState<AppState>where AppState: Sync,

    §

    impl<AppState> Unpin for ServerState<AppState>where AppState: Unpin,

    §

    impl<AppState> !UnwindSafe for ServerState<AppState>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/tide_disco/type.AppServerState.html b/tide_disco/type.AppServerState.html index 5592d82f..ef41243d 100644 --- a/tide_disco/type.AppServerState.html +++ b/tide_disco/type.AppServerState.html @@ -1,5 +1,5 @@ -AppServerState in tide_disco - Rust

    Type Alias tide_disco::AppServerState

    source ·
    pub type AppServerState = ServerState<AppState>;

    Aliased Type§

    struct AppServerState {
    +AppServerState in tide_disco - Rust

    Type Alias tide_disco::AppServerState

    source ·
    pub type AppServerState = ServerState<AppState>;

    Aliased Type§

    struct AppServerState {
         pub health_status: Arc<RwLock<HealthStatus>, Global>,
         pub app_state: Value,
         pub router: Arc<Router<usize>, Global>,
    -}

    Fields§

    §health_status: Arc<RwLock<HealthStatus>, Global>§app_state: Value§router: Arc<Router<usize>, Global>

    Trait Implementations§

    source§

    impl<AppState: Clone> Clone for ServerState<AppState>

    source§

    fn clone(&self) -> ServerState<AppState>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    \ No newline at end of file +}

    Fields§

    §health_status: Arc<RwLock<HealthStatus>, Global>§app_state: Value§router: Arc<Router<usize>, Global>

    Trait Implementations§

    source§

    impl<AppState: Clone> Clone for ServerState<AppState>

    source§

    fn clone(&self) -> ServerState<AppState>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    \ No newline at end of file diff --git a/tide_disco/type.AppState.html b/tide_disco/type.AppState.html index de69fc72..1861ea36 100644 --- a/tide_disco/type.AppState.html +++ b/tide_disco/type.AppState.html @@ -1,4 +1,4 @@ -AppState in tide_disco - Rust

    Type Alias tide_disco::AppState

    source ·
    pub type AppState = Value;

    Aliased Type§

    enum AppState {
    +AppState in tide_disco - Rust

    Type Alias tide_disco::AppState

    source ·
    pub type AppState = Value;

    Aliased Type§

    enum AppState {
         String(String),
         Integer(i64),
         Float(f64),
    diff --git a/tide_disco/type.Html.html b/tide_disco/type.Html.html
    index dfeb7b1a..3cd7075d 100644
    --- a/tide_disco/type.Html.html
    +++ b/tide_disco/type.Html.html
    @@ -1 +1 @@
    -Html in tide_disco - Rust

    Type Alias tide_disco::Html

    source ·
    pub type Html = Markup;

    Aliased Type§

    struct Html(pub String);

    Fields§

    §0: String
    \ No newline at end of file +Html in tide_disco - Rust

    Type Alias tide_disco::Html

    source ·
    pub type Html = Markup;

    Aliased Type§

    struct Html(pub String);

    Fields§

    §0: String
    \ No newline at end of file