diff --git a/implementors/actix_web/error/response_error/trait.ResponseError.js b/implementors/actix_web/error/response_error/trait.ResponseError.js new file mode 100644 index 0000000..23ae970 --- /dev/null +++ b/implementors/actix_web/error/response_error/trait.ResponseError.js @@ -0,0 +1,3 @@ +(function() {var implementors = {}; +implementors["pages"] = [{"text":"impl ResponseError for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]}]; +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 new file mode 100644 index 0000000..e6fa7de --- /dev/null +++ b/implementors/core/cmp/trait.PartialEq.js @@ -0,0 +1,3 @@ +(function() {var implementors = {}; +implementors["pages"] = [{"text":"impl PartialEq<FSError> for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl PartialEq<ConfigError> for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl PartialEq<ServiceError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl PartialEq<Page> for Page","synthetic":false,"types":["pages::page::Page"]}]; +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 new file mode 100644 index 0000000..f8f7f2e --- /dev/null +++ b/implementors/core/convert/trait.From.js @@ -0,0 +1,3 @@ +(function() {var implementors = {}; +implementors["pages"] = [{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<ConfigError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<ParseError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]}]; +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 5eab606..1f18ff9 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Debug for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Debug for BuildDetails","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl Debug for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl Debug for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl Debug for Settings","synthetic":false,"types":["pages::settings::Settings"]}]; +implementors["pages"] = [{"text":"impl Debug for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Debug for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl Debug for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl Debug for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl Debug for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Debug for BuildDetails","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl Debug for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl Debug for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl Debug for Settings","synthetic":false,"types":["pages::settings::Settings"]}]; 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 new file mode 100644 index 0000000..4d36389 --- /dev/null +++ b/implementors/core/fmt/trait.Display.js @@ -0,0 +1,3 @@ +(function() {var implementors = {}; +implementors["pages"] = [{"text":"impl Display for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl Display for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl Display for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]}]; +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 0b698c0..b0854b9 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Freeze for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Freeze for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Freeze for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Freeze for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl Freeze for BuildDetails","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Freeze for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Freeze for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Freeze for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":["pages::SETTINGS"]}]; +implementors["pages"] = [{"text":"impl Freeze for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Freeze for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Freeze for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Freeze for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Freeze for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Freeze for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Freeze for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Freeze for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl Freeze for BuildDetails","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Freeze for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Freeze for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Freeze for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":["pages::SETTINGS"]}]; 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 f5dc150..fd787f3 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Send for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Send for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Send for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Send for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl Send for BuildDetails","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Send for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Send for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Send for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Send for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Send for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Send for SETTINGS","synthetic":true,"types":["pages::SETTINGS"]}]; +implementors["pages"] = [{"text":"impl Send for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Send for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Send for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Send for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Send for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Send for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Send for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Send for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl Send for BuildDetails","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Send for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Send for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Send for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Send for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Send for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Send for SETTINGS","synthetic":true,"types":["pages::SETTINGS"]}]; 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 new file mode 100644 index 0000000..7602dbe --- /dev/null +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -0,0 +1,3 @@ +(function() {var implementors = {}; +implementors["pages"] = [{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl StructuralPartialEq for Page","synthetic":false,"types":["pages::page::Page"]}]; +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 43a65c6..d12af96 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Sync for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Sync for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Sync for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Sync for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl Sync for BuildDetails","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Sync for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Sync for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Sync for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Sync for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Sync for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":["pages::SETTINGS"]}]; +implementors["pages"] = [{"text":"impl Sync for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Sync for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Sync for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Sync for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Sync for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Sync for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Sync for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Sync for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl Sync for BuildDetails","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Sync for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Sync for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Sync for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Sync for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Sync for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":["pages::SETTINGS"]}]; 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 eed175c..a335ce3 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Unpin for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Unpin for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Unpin for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Unpin for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl Unpin for BuildDetails","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Unpin for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Unpin for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Unpin for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":["pages::SETTINGS"]}]; +implementors["pages"] = [{"text":"impl Unpin for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Unpin for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Unpin for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Unpin for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Unpin for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Unpin for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Unpin for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Unpin for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl Unpin for BuildDetails","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Unpin for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Unpin for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Unpin for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":["pages::SETTINGS"]}]; 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 03f06fb..ff01df5 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 = {}; -implementors["pages"] = [{"text":"impl RefUnwindSafe for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl RefUnwindSafe for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl RefUnwindSafe for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl RefUnwindSafe for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl RefUnwindSafe for BuildDetails","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl RefUnwindSafe for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":["pages::SETTINGS"]}]; +implementors["pages"] = [{"text":"impl RefUnwindSafe for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl RefUnwindSafe for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl RefUnwindSafe for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl !RefUnwindSafe for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl !RefUnwindSafe for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl !RefUnwindSafe for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl RefUnwindSafe for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl RefUnwindSafe for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl RefUnwindSafe for BuildDetails","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl RefUnwindSafe for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":["pages::SETTINGS"]}]; 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 09de9da..b163692 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 = {}; -implementors["pages"] = [{"text":"impl UnwindSafe for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl UnwindSafe for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl UnwindSafe for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl UnwindSafe for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl UnwindSafe for BuildDetails","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl UnwindSafe for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":["pages::SETTINGS"]}]; +implementors["pages"] = [{"text":"impl UnwindSafe for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl UnwindSafe for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl UnwindSafe for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl !UnwindSafe for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl !UnwindSafe for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl !UnwindSafe for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl UnwindSafe for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl UnwindSafe for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl UnwindSafe for BuildDetails","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl UnwindSafe for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":["pages::SETTINGS"]}]; 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 1fa0991..299ed5b 100644 --- a/implementors/serde/de/trait.Deserialize.js +++ b/implementors/serde/de/trait.Deserialize.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl<'de> Deserialize<'de> for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Deserialize<'static> for BuildDetails","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl<'de> Deserialize<'de> for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl<'de> Deserialize<'de> for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl<'de> Deserialize<'de> for Settings","synthetic":false,"types":["pages::settings::Settings"]}]; +implementors["pages"] = [{"text":"impl<'de> Deserialize<'de> for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl<'de> Deserialize<'de> for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Deserialize<'static> for BuildDetails","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl<'de> Deserialize<'de> for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl<'de> Deserialize<'de> for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl<'de> Deserialize<'de> for Settings","synthetic":false,"types":["pages::settings::Settings"]}]; 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 e6100da..0be0403 100644 --- a/implementors/serde/ser/trait.Serialize.js +++ b/implementors/serde/ser/trait.Serialize.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Serialize for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Serialize for BuildDetails","synthetic":false,"types":["pages::meta::BuildDetails"]}]; +implementors["pages"] = [{"text":"impl Serialize for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Serialize for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Serialize for BuildDetails","synthetic":false,"types":["pages::meta::BuildDetails"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/std/error/trait.Error.js b/implementors/std/error/trait.Error.js new file mode 100644 index 0000000..f4f2be3 --- /dev/null +++ b/implementors/std/error/trait.Error.js @@ -0,0 +1,3 @@ +(function() {var implementors = {}; +implementors["pages"] = [{"text":"impl Error for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl Error for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl Error for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]}]; +if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/pages/all.html b/pages/all.html index 5a42754..37c0b1f 100644 --- a/pages/all.html +++ b/pages/all.html @@ -3,5 +3,5 @@

List of all items

Structs

Functions

Constants

+

Crate pages

List of all items

Structs

Enums

Functions

Typedefs

Constants

\ No newline at end of file diff --git a/pages/constant.CACHE_AGE.html b/pages/constant.CACHE_AGE.html index 16aada9..a80892a 100644 --- a/pages/constant.CACHE_AGE.html +++ b/pages/constant.CACHE_AGE.html @@ -4,5 +4,5 @@
-

Constant pages::CACHE_AGE

source · []
pub const CACHE_AGE: u32 = 604800;
+

Constant pages::CACHE_AGE

source · []
pub const CACHE_AGE: u32 = 604800;
\ No newline at end of file diff --git a/pages/constant.GIT_COMMIT_HASH.html b/pages/constant.GIT_COMMIT_HASH.html index 9751d3d..4862042 100644 --- a/pages/constant.GIT_COMMIT_HASH.html +++ b/pages/constant.GIT_COMMIT_HASH.html @@ -4,5 +4,5 @@
pub const GIT_COMMIT_HASH: &str = "e966426186cf4a6d550769c22f5a8156b2de77a3";
+

Constant pages::GIT_COMMIT_HASH

source · []
pub const GIT_COMMIT_HASH: &str = "1743caf6d4ef61b3257ebe50d8306c2f263c316a";
\ No newline at end of file diff --git a/pages/constant.PKG_DESCRIPTION.html b/pages/constant.PKG_DESCRIPTION.html index 5f9fa3a..826e26a 100644 --- a/pages/constant.PKG_DESCRIPTION.html +++ b/pages/constant.PKG_DESCRIPTION.html @@ -4,5 +4,5 @@
pub const PKG_DESCRIPTION: &str = "";
+

Constant pages::PKG_DESCRIPTION

source · []
pub const PKG_DESCRIPTION: &str = "";
\ No newline at end of file diff --git a/pages/constant.PKG_HOMEPAGE.html b/pages/constant.PKG_HOMEPAGE.html index 61a18b5..e6b1438 100644 --- a/pages/constant.PKG_HOMEPAGE.html +++ b/pages/constant.PKG_HOMEPAGE.html @@ -4,5 +4,5 @@
pub const PKG_HOMEPAGE: &str = "https://github.com/realaravinth/pages";
+

Constant pages::PKG_HOMEPAGE

source · []
pub const PKG_HOMEPAGE: &str = "https://github.com/realaravinth/pages";
\ No newline at end of file diff --git a/pages/constant.PKG_NAME.html b/pages/constant.PKG_NAME.html index a9ae987..81b23bc 100644 --- a/pages/constant.PKG_NAME.html +++ b/pages/constant.PKG_NAME.html @@ -4,5 +4,5 @@
-

Constant pages::PKG_NAME

source · []
pub const PKG_NAME: &str = "pages";
+

Constant pages::PKG_NAME

source · []
pub const PKG_NAME: &str = "pages";
\ No newline at end of file diff --git a/pages/constant.VERSION.html b/pages/constant.VERSION.html index 248df28..ca4ad27 100644 --- a/pages/constant.VERSION.html +++ b/pages/constant.VERSION.html @@ -4,5 +4,5 @@
-

Constant pages::VERSION

source · []
pub const VERSION: &str = "0.1.0";
+

Constant pages::VERSION

source · []
pub const VERSION: &str = "0.1.0";
\ No newline at end of file diff --git a/pages/deploy/fn.services.html b/pages/deploy/fn.services.html index a755bd1..d9c5c35 100644 --- a/pages/deploy/fn.services.html +++ b/pages/deploy/fn.services.html @@ -4,5 +4,5 @@
-

Function pages::deploy::services

source · []
pub fn services(cfg: &mut ServiceConfig)
+

Function pages::deploy::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/pages/deploy/index.html b/pages/deploy/index.html index 76fe7b4..75cb6dc 100644 --- a/pages/deploy/index.html +++ b/pages/deploy/index.html @@ -4,7 +4,7 @@
-

Module pages::deploy

source · []

Modules

+

Module pages::deploy

source · []

Modules

Structs

Functions

diff --git a/pages/deploy/routes/index.html b/pages/deploy/routes/index.html index 348ff24..3f6498f 100644 --- a/pages/deploy/routes/index.html +++ b/pages/deploy/routes/index.html @@ -4,6 +4,6 @@

Structs

+

Module pages::deploy::routes

source · []

Structs

\ No newline at end of file diff --git a/pages/deploy/routes/struct.Deploy.html b/pages/deploy/routes/struct.Deploy.html index e90e5fc..41421ab 100644 --- a/pages/deploy/routes/struct.Deploy.html +++ b/pages/deploy/routes/struct.Deploy.html @@ -4,9 +4,9 @@
pub struct Deploy {
+    

Struct pages::deploy::routes::Deploy

source · []
pub struct Deploy {
     pub update: &'static str,
-}

Fields

update: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Fields

update: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/pages/deploy/struct.DeployEvent.html b/pages/deploy/struct.DeployEvent.html index 354bfe6..0daea2b 100644 --- a/pages/deploy/struct.DeployEvent.html +++ b/pages/deploy/struct.DeployEvent.html @@ -4,14 +4,14 @@
pub struct DeployEvent {
+    

Struct pages::deploy::DeployEvent

source · []
pub struct DeployEvent {
     pub secret: String,
     pub branch: String,
-}

Fields

secret: Stringbranch: String

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

secret: Stringbranch: String

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/pages/deploy/struct.update.html b/pages/deploy/struct.update.html index da18681..eca3686 100644 --- a/pages/deploy/struct.update.html +++ b/pages/deploy/struct.update.html @@ -4,7 +4,7 @@
pub struct update;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Struct pages::deploy::update

source · []
pub struct update;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/pages/errors/enum.ServiceError.html b/pages/errors/enum.ServiceError.html new file mode 100644 index 0000000..02c3bb4 --- /dev/null +++ b/pages/errors/enum.ServiceError.html @@ -0,0 +1,65 @@ +ServiceError in pages::errors - Rust + +
pub enum ServiceError {
+    InternalServerError,
+    NotAUrl,
+    URLTooLong,
+    WebsiteNotFound,
+    PathTaken(PagePage),
+    SecretTaken(PagePage),
+    DuplicateRepositoryURL(PagePage),
+    FSError(FSError),
+    UnauthorizedOperation(String),
+    BadRequest(String),
+    ConfigError(ConfigError),
+    GitError(GitError),
+}
Expand description

Error data structure grouping various error subtypes

+

Variants

InternalServerError

All non-specific errors are grouped under this category

+

NotAUrl

The value you entered for url is not url“

+

URLTooLong

URL too long, maximum length can’t be greater then 2048 characters

+

WebsiteNotFound

website not found

+

PathTaken(PagePage)

when the a path configured for a page is already taken

+

SecretTaken(PagePage)

when the a Secret configured for a page is already taken

+

DuplicateRepositoryURL(PagePage)

when the a Repository URL configured for a page is already taken

+

FSError(FSError)

UnauthorizedOperation(String)

BadRequest(String)

ConfigError(ConfigError)

GitError(GitError)

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

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

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Creates full response for error. Read more

+

Returns appropriate status code for error. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

+

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

+

Calls U::from(self).

+

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

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

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

+

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

+
+ \ No newline at end of file diff --git a/pages/errors/index.html b/pages/errors/index.html new file mode 100644 index 0000000..7f4231d --- /dev/null +++ b/pages/errors/index.html @@ -0,0 +1,14 @@ +pages::errors - Rust + +
+

Module pages::errors

source · []
Expand description

represents all the ways a trait can fail using this crate

+

Structs

+

Enums

+

Error data structure grouping various error subtypes

+

Type Definitions

+

Generic result data structure

+
+ \ No newline at end of file diff --git a/pages/errors/sidebar-items.js b/pages/errors/sidebar-items.js new file mode 100644 index 0000000..7601842 --- /dev/null +++ b/pages/errors/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"enum":[["ServiceError","Error data structure grouping various error subtypes"]],"struct":[["ConfigError",""],["ErrorToResponse",""],["FSError",""]],"type":[["ServiceResult","Generic result data structure"]]}); \ No newline at end of file diff --git a/pages/errors/struct.ConfigError.html b/pages/errors/struct.ConfigError.html new file mode 100644 index 0000000..05999ea --- /dev/null +++ b/pages/errors/struct.ConfigError.html @@ -0,0 +1,38 @@ +ConfigError in pages::errors - Rust + +
pub struct ConfigError(pub ConfigErrorInner);

Tuple Fields

0: ConfigErrorInner

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

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

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

+

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

+

Calls U::from(self).

+

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

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

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

+

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

+
+ \ No newline at end of file diff --git a/pages/errors/struct.ErrorToResponse.html b/pages/errors/struct.ErrorToResponse.html new file mode 100644 index 0000000..e29ec6f --- /dev/null +++ b/pages/errors/struct.ErrorToResponse.html @@ -0,0 +1,33 @@ +ErrorToResponse in pages::errors - Rust + +
pub struct ErrorToResponse {
+    pub error: String,
+}

Fields

error: String

Trait Implementations

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

+

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

+

Calls U::from(self).

+

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

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

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

+

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

+
+ \ No newline at end of file diff --git a/pages/errors/struct.FSError.html b/pages/errors/struct.FSError.html new file mode 100644 index 0000000..cd95845 --- /dev/null +++ b/pages/errors/struct.FSError.html @@ -0,0 +1,38 @@ +FSError in pages::errors - Rust + +
pub struct FSError(pub FSErrorInner);

Tuple Fields

0: FSErrorInner

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

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

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

+

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

+

Calls U::from(self).

+

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

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

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

+

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

+
+ \ No newline at end of file diff --git a/pages/errors/type.ServiceResult.html b/pages/errors/type.ServiceResult.html new file mode 100644 index 0000000..7daaa30 --- /dev/null +++ b/pages/errors/type.ServiceResult.html @@ -0,0 +1,9 @@ +ServiceResult in pages::errors - Rust + +
+

Type Definition pages::errors::ServiceResult

source · []
pub type ServiceResult<V> = Result<V, ServiceError>;
Expand description

Generic result data structure

+
+ \ No newline at end of file diff --git a/pages/fn.get_json_err.html b/pages/fn.get_json_err.html index 024cc5e..1f4f3be 100644 --- a/pages/fn.get_json_err.html +++ b/pages/fn.get_json_err.html @@ -4,5 +4,5 @@
pub fn get_json_err() -> JsonConfig
+

Function pages::get_json_err

source · []
pub fn get_json_err() -> JsonConfig
\ No newline at end of file diff --git a/pages/fn.main.html b/pages/fn.main.html index a43cee3..eac1229 100644 --- a/pages/fn.main.html +++ b/pages/fn.main.html @@ -4,5 +4,5 @@
-

Function pages::main

source · []
pub(crate) fn main() -> Result<()>
+

Function pages::main

source · []
pub(crate) fn main() -> Result<()>
\ No newline at end of file diff --git a/pages/fn.services.html b/pages/fn.services.html index dfb959a..e3b7e02 100644 --- a/pages/fn.services.html +++ b/pages/fn.services.html @@ -4,5 +4,5 @@
-

Function pages::services

source · []
pub fn services(cfg: &mut ServiceConfig)
+

Function pages::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/pages/index.html b/pages/index.html index 9a1202d..07cdce3 100644 --- a/pages/index.html +++ b/pages/index.html @@ -4,8 +4,9 @@
-

Crate pages

source · []

Modules

-

Structs

+

Crate pages

source · []

Modules

+

represents all the ways a trait can fail using this crate

+

Structs

Constants

Functions

diff --git a/pages/page/index.html b/pages/page/index.html index d77268f..55f9087 100644 --- a/pages/page/index.html +++ b/pages/page/index.html @@ -4,6 +4,6 @@
-

Module pages::page

source · []

Structs

+

Module pages::page

source · []

Structs

\ No newline at end of file diff --git a/pages/page/struct.Page.html b/pages/page/struct.Page.html index 0a2ecaf..b8eb5c4 100644 --- a/pages/page/struct.Page.html +++ b/pages/page/struct.Page.html @@ -3,17 +3,20 @@

-

Struct pages::page::Page

source · []

Fields

secret: Stringrepo: Stringpath: Stringbranch: String

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/pages/settings/index.html b/pages/settings/index.html index 9b350ad..3c8eb64 100644 --- a/pages/settings/index.html +++ b/pages/settings/index.html @@ -4,6 +4,6 @@

Structs

\ No newline at end of file diff --git a/pages/settings/struct.Server.html b/pages/settings/struct.Server.html index 01b87d2..13ff6de 100644 --- a/pages/settings/struct.Server.html +++ b/pages/settings/struct.Server.html @@ -4,14 +4,14 @@
pub struct Server {
+    

Struct pages::settings::Server

source · []
pub struct Server {
     pub port: u32,
     pub ip: String,
     pub workers: Option<usize>,
-}

Fields

port: u32ip: Stringworkers: Option<usize>

Implementations

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

port: u32ip: Stringworkers: Option<usize>

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/pages/settings/struct.Settings.html b/pages/settings/struct.Settings.html index 0307bf7..e4dcbf4 100644 --- a/pages/settings/struct.Settings.html +++ b/pages/settings/struct.Settings.html @@ -4,14 +4,14 @@
pub struct Settings {
+    

Struct pages::settings::Settings

source · []
pub struct Settings {
     pub server: Server,
     pub source_code: String,
     pub pages: Vec<Page>,
-}

Fields

server: Serversource_code: Stringpages: Vec<Page>

Implementations

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

server: Serversource_code: Stringpages: Vec<Page>

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/pages/sidebar-items.js b/pages/sidebar-items.js index 9e7efd7..244cea7 100644 --- a/pages/sidebar-items.js +++ b/pages/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["CACHE_AGE",""],["GIT_COMMIT_HASH",""],["PKG_DESCRIPTION",""],["PKG_HOMEPAGE",""],["PKG_NAME",""],["V1_API_ROUTES",""],["VERSION",""]],"fn":[["get_json_err",""],["main",""],["services",""]],"mod":[["deploy",""],["meta",""],["page",""],["routes",""],["settings",""]],"struct":[["SETTINGS",""],["Settings",""]]}); \ No newline at end of file +initSidebarItems({"constant":[["CACHE_AGE",""],["GIT_COMMIT_HASH",""],["PKG_DESCRIPTION",""],["PKG_HOMEPAGE",""],["PKG_NAME",""],["V1_API_ROUTES",""],["VERSION",""]],"fn":[["get_json_err",""],["main",""],["services",""]],"mod":[["deploy",""],["errors","represents all the ways a trait can fail using this crate"],["meta",""],["page",""],["routes",""],["settings",""]],"struct":[["SETTINGS",""],["Settings",""]]}); \ No newline at end of file diff --git a/pages/struct.SETTINGS.html b/pages/struct.SETTINGS.html index 5e987b8..846909e 100644 --- a/pages/struct.SETTINGS.html +++ b/pages/struct.SETTINGS.html @@ -4,11 +4,11 @@
-

Struct pages::SETTINGS

source · []
pub struct SETTINGS {
+    

Struct pages::SETTINGS

source · []
pub struct SETTINGS {
     pub(crate) __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = Settings>

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Fields

__private_field: ()

Methods from Deref<Target = Settings>

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/pages/struct.Settings.html b/pages/struct.Settings.html index 63bd2ac..9541dc8 100644 --- a/pages/struct.Settings.html +++ b/pages/struct.Settings.html @@ -4,14 +4,14 @@
-

Struct pages::Settings

source · []
pub struct Settings {
+    

Struct pages::Settings

source · []
pub struct Settings {
     pub server: Server,
     pub source_code: String,
     pub pages: Vec<Page>,
-}

Fields

server: Serversource_code: Stringpages: Vec<Page>

Implementations

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

server: Serversource_code: Stringpages: Vec<Page>

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/search-index.js b/search-index.js index 9fd5913..3980121 100644 --- a/search-index.js +++ b/search-index.js @@ -1,4 +1,4 @@ var searchIndex = JSON.parse('{\ -"pages":{"doc":"","t":[17,17,17,17,17,3,3,17,17,12,11,11,0,11,11,5,11,5,0,0,12,0,12,5,0,12,11,11,11,11,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,0,12,11,5,11,11,11,11,11,11,11,3,11,11,3,11,11,11,11,11,11,11,11,12,11,3,11,11,11,11,3,11,11,11,11,11,11,12,11,11,11,0,11,5,12,11,11,11,11,11,11,11,12,11,11,3,11,11,12,11,12,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,17,3,11,11,12,11,11,12,11,5,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,12],"n":["CACHE_AGE","GIT_COMMIT_HASH","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","SETTINGS","Settings","V1_API_ROUTES","VERSION","__private_field","borrow","borrow_mut","deploy","deref","from","get_json_err","into","main","meta","page","pages","routes","server","services","settings","source_code","try_from","try_into","type_id","vzip","DeployEvent","borrow","borrow","borrow_mut","borrow_mut","branch","clone","clone_into","deserialize","fmt","from","from","into","into","register","routes","secret","serialize","services","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","update","vzip","vzip","Deploy","borrow","borrow_mut","from","into","new","try_from","try_into","type_id","update","vzip","BuildDetails","borrow","borrow","borrow_mut","borrow_mut","build_details","clone","clone_into","deserialize","fmt","from","from","git_commit_hash","into","into","register","routes","serialize","services","source_code","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","version","vzip","vzip","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","Page","_fetch_upstream","borrow","borrow_mut","branch","clone","clone_into","create_repo","deploy_branch","deserialize","fmt","from","into","path","repo","secret","to_owned","try_from","try_into","type_id","update","vzip","ROUTES","Routes","borrow","borrow_mut","deploy","from","into","meta","new","services","try_from","try_into","type_id","vzip","Server","Settings","borrow","borrow","borrow_mut","borrow_mut","check_url","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","get_ip","into","into","ip","new","pages","port","server","source_code","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","workers"],"q":["pages","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::deploy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::deploy::routes","","","","","","","","","","","pages::meta","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::meta::routes","","","","","","","","","","","","pages::page","","","","","","","","","","","","","","","","","","","","","","pages::routes","","","","","","","","","","","","","","pages::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","emmits build details of the bninary","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,1,0,0,0,2,0,2,0,0,2,1,1,1,1,0,3,4,3,4,3,3,3,3,3,3,4,3,4,4,0,3,3,0,3,3,4,3,4,3,4,0,3,4,0,5,5,5,5,5,5,5,5,5,5,0,6,7,6,7,0,6,6,6,6,6,7,6,6,7,7,0,6,0,6,6,6,7,6,7,6,7,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,0,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,10,10,10,10,10,10,10,0,10,10,10,10,0,0,11,2,11,2,2,11,2,11,2,11,2,11,2,11,2,11,11,2,11,2,2,11,2,2,11,2,11,2,11,2,11,2,11,2,11],"f":[null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["settings",3]],[[]],[[],["jsonconfig",3]],[[]],[[],["result",6]],null,null,null,null,null,[[["serviceconfig",3]]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["deployevent",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["appservice",3]]],null,null,[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["builddetails",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0],["repository",3],["str",0]]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["page",3]],[[["",0],["",0]]],[[["",0]],["repository",3]],[[["",0],["repository",3]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],null,[[]],[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]]],[[["",0]],["server",3]],[[["",0]],["settings",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["string",3]],[[]],[[]],null,[[],["result",4,[["configerror",4]]]],null,null,null,null,[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null],"p":[[3,"SETTINGS"],[3,"Settings"],[3,"DeployEvent"],[3,"update"],[3,"Deploy"],[3,"BuildDetails"],[3,"build_details"],[3,"Meta"],[3,"Page"],[3,"Routes"],[3,"Server"]]}\ +"pages":{"doc":"","t":[17,17,17,17,17,3,3,17,17,12,11,11,0,11,0,11,5,11,5,0,0,12,0,12,5,0,12,11,11,11,11,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,0,12,11,5,11,11,11,11,11,11,11,3,11,11,3,11,11,11,11,11,11,11,11,12,11,12,12,13,3,13,13,3,3,13,13,13,13,13,13,4,6,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,3,11,11,11,11,3,11,11,11,11,11,11,12,11,11,11,0,11,5,12,11,11,11,11,11,11,11,12,11,11,3,11,11,12,11,12,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,17,3,11,11,12,11,11,12,11,5,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,12],"n":["CACHE_AGE","GIT_COMMIT_HASH","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","SETTINGS","Settings","V1_API_ROUTES","VERSION","__private_field","borrow","borrow_mut","deploy","deref","errors","from","get_json_err","into","main","meta","page","pages","routes","server","services","settings","source_code","try_from","try_into","type_id","vzip","DeployEvent","borrow","borrow","borrow_mut","borrow_mut","branch","clone","clone_into","deserialize","fmt","from","from","into","into","register","routes","secret","serialize","services","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","update","vzip","vzip","Deploy","borrow","borrow_mut","from","into","new","try_from","try_into","type_id","update","vzip","0","0","BadRequest","ConfigError","ConfigError","DuplicateRepositoryURL","ErrorToResponse","FSError","FSError","GitError","InternalServerError","NotAUrl","PathTaken","SecretTaken","ServiceError","ServiceResult","URLTooLong","UnauthorizedOperation","WebsiteNotFound","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","error","error_response","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","into","ne","serialize","source","source","source","status_code","to_string","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","0","0","0","0","0","0","0","0","1","1","1","BuildDetails","borrow","borrow","borrow_mut","borrow_mut","build_details","clone","clone_into","deserialize","fmt","from","from","git_commit_hash","into","into","register","routes","serialize","services","source_code","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","version","vzip","vzip","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","Page","_fetch_upstream","borrow","borrow_mut","branch","clone","clone_into","create_repo","deploy_branch","deserialize","eq","fmt","from","into","ne","path","repo","secret","to_owned","try_from","try_into","type_id","update","vzip","ROUTES","Routes","borrow","borrow_mut","deploy","from","into","meta","new","services","try_from","try_into","type_id","vzip","Server","Settings","borrow","borrow","borrow_mut","borrow_mut","check_url","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","get_ip","into","into","ip","new","pages","port","server","source_code","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","workers"],"q":["pages","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::deploy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::deploy::routes","","","","","","","","","","","pages::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::errors::ServiceError","","","","","","","","","","","pages::meta","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::meta::routes","","","","","","","","","","","","pages::page","","","","","","","","","","","","","","","","","","","","","","","","pages::routes","","","","","","","","","","","","","","pages::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","when the a Repository URL configured for a page is already …","","","","","All non-specific errors are grouped under this category","The value you entered for url is not url“","when the a path configured for a page is already taken","when the a Secret configured for a page is already taken","Error data structure grouping various error subtypes","Generic result data structure","URL too long, maximum length can’t be greater then 2048 …","","website not found","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","emmits build details of the bninary","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,1,0,1,0,0,0,2,0,2,0,0,2,1,1,1,1,0,3,4,3,4,3,3,3,3,3,3,4,3,4,4,0,3,3,0,3,3,4,3,4,3,4,0,3,4,0,5,5,5,5,5,5,5,5,5,5,6,7,8,0,8,8,0,0,8,8,8,8,8,8,0,0,8,8,8,6,7,8,9,6,7,8,9,9,6,7,8,9,8,6,6,7,7,8,8,9,6,7,8,8,8,8,8,9,6,7,8,9,8,9,6,7,8,8,6,7,8,6,7,8,9,6,7,8,9,6,7,8,9,6,7,8,9,10,11,12,13,14,15,16,17,10,11,12,0,18,19,18,19,0,18,18,18,18,18,19,18,18,19,19,0,18,0,18,18,18,19,18,19,18,19,18,18,19,0,20,20,20,20,20,20,20,20,20,20,20,0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,0,0,22,22,22,22,22,22,22,0,22,22,22,22,0,0,23,2,23,2,2,23,2,23,2,23,2,23,2,23,2,23,23,2,23,2,2,23,2,2,23,2,23,2,23,2,23,2,23,2,23],"f":[null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["settings",3]],null,[[]],[[],["jsonconfig",3]],[[]],[[],["result",6]],null,null,null,null,null,[[["serviceconfig",3]]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["deployevent",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["appservice",3]]],null,null,[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["serviceerror",4]],["bool",0]],null,[[["",0]],["httpresponse",3]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["giterror",3]],["serviceerror",4]],[[["fserrorinner",3]]],[[["configerrorinner",4]]],[[]],[[["parseerror",4]],["serviceerror",4]],[[]],[[]],[[]],[[]],[[]],[[["",0],["serviceerror",4]],["bool",0]],[[["",0]],["result",4]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["statuscode",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["builddetails",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0],["repository",3],["str",0]],["result",4,[["serviceerror",4]]]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["page",3]],[[["",0],["",0]]],[[["",0]],["result",4,[["repository",3],["serviceerror",4]]]],[[["",0],["repository",3]],["result",4,[["serviceerror",4]]]],[[],["result",4]],[[["",0],["page",3]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0],["page",3]],["bool",0]],null,null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["result",4,[["serviceerror",4]]]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],null,[[]],[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]]],[[["",0]],["server",3]],[[["",0]],["settings",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["string",3]],[[]],[[]],null,[[],["result",4,[["serviceerror",4]]]],null,null,null,null,[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null],"p":[[3,"SETTINGS"],[3,"Settings"],[3,"DeployEvent"],[3,"update"],[3,"Deploy"],[3,"FSError"],[3,"ConfigError"],[4,"ServiceError"],[3,"ErrorToResponse"],[13,"PathTaken"],[13,"SecretTaken"],[13,"DuplicateRepositoryURL"],[13,"FSError"],[13,"UnauthorizedOperation"],[13,"BadRequest"],[13,"ConfigError"],[13,"GitError"],[3,"BuildDetails"],[3,"build_details"],[3,"Meta"],[3,"Page"],[3,"Routes"],[3,"Server"]]}\ }'); if (window.initSearch) {window.initSearch(searchIndex)}; \ No newline at end of file diff --git a/source-files.js b/source-files.js index 85e390e..70344db 100644 --- a/source-files.js +++ b/source-files.js @@ -1,3 +1,3 @@ var N = null;var sourcesIndex = {}; -sourcesIndex["pages"] = {"name":"","files":["deploy.rs","main.rs","meta.rs","page.rs","routes.rs","settings.rs"]}; +sourcesIndex["pages"] = {"name":"","files":["deploy.rs","errors.rs","main.rs","meta.rs","page.rs","routes.rs","settings.rs"]}; createSourceSidebar(); diff --git a/src/pages/deploy.rs.html b/src/pages/deploy.rs.html index 91d0abe..b5a5d8e 100644 --- a/src/pages/deploy.rs.html +++ b/src/pages/deploy.rs.html @@ -112,7 +112,6 @@ 107 108 109 -110
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -131,7 +130,9 @@
  */
 use actix_web::{web, HttpResponse, Responder};
 use serde::{Deserialize, Serialize};
+use tokio::sync::oneshot;
 
+use crate::errors::*;
 use crate::SETTINGS;
 
 pub mod routes {
@@ -155,24 +156,21 @@
 }
 
 #[my_codegen::post(path = "crate::V1_API_ROUTES.deploy.update")]
-async fn update(payload: web::Json<DeployEvent>) -> impl Responder {
-    let mut found = false;
+async fn update(payload: web::Json<DeployEvent>) -> ServiceResult<impl Responder> {
     for page in SETTINGS.pages.iter() {
         if page.secret == payload.secret {
+            let (tx, rx) = oneshot::channel();
             web::block(|| {
-                page.update();
+                tx.send(page.update()).unwrap();
             })
             .await
             .unwrap();
-            found = true;
+            rx.await.unwrap()?;
+            return Ok(HttpResponse::Ok());
         }
     }
 
-    if found {
-        HttpResponse::Ok()
-    } else {
-        HttpResponse::NotFound()
-    }
+    Err(ServiceError::WebsiteNotFound)
 }
 
 pub fn services(cfg: &mut web::ServiceConfig) {
diff --git a/src/pages/errors.rs.html b/src/pages/errors.rs.html
new file mode 100644
index 0000000..2d338de
--- /dev/null
+++ b/src/pages/errors.rs.html
@@ -0,0 +1,376 @@
+errors.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
+
/*
+ * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+//! represents all the ways a trait can fail using this crate
+use std::convert::From;
+use std::io::Error as FSErrorInner;
+
+use actix_web::{
+    error::ResponseError,
+    http::{header, StatusCode},
+    HttpResponse, HttpResponseBuilder,
+};
+use config::ConfigError as ConfigErrorInner;
+use derive_more::{Display, Error};
+use git2::Error as GitError;
+use serde::{Deserialize, Serialize};
+use url::ParseError;
+
+use crate::page::Page;
+
+#[derive(Debug, Display, Error)]
+pub struct FSError(#[display(fmt = "File System Error {}", _0)] pub FSErrorInner);
+
+#[derive(Debug, Display, Error)]
+pub struct ConfigError(#[display(fmt = "Configuration Error {}", _0)] pub ConfigErrorInner);
+
+#[cfg(not(tarpaulin_include))]
+impl PartialEq for FSError {
+    fn eq(&self, other: &Self) -> bool {
+        self.0.kind() == other.0.kind()
+    }
+}
+
+#[cfg(not(tarpaulin_include))]
+impl PartialEq for ConfigError {
+    fn eq(&self, other: &Self) -> bool {
+        self.0.to_string().trim() == other.0.to_string().trim()
+    }
+}
+
+#[cfg(not(tarpaulin_include))]
+impl From<FSErrorInner> for ServiceError {
+    fn from(e: FSErrorInner) -> Self {
+        Self::FSError(FSError(e))
+    }
+}
+
+#[cfg(not(tarpaulin_include))]
+impl From<ConfigErrorInner> for ServiceError {
+    fn from(e: ConfigErrorInner) -> Self {
+        Self::ConfigError(ConfigError(e))
+    }
+}
+
+#[derive(Debug, Display, PartialEq, Error)]
+#[cfg(not(tarpaulin_include))]
+/// Error data structure grouping various error subtypes
+pub enum ServiceError {
+    /// All non-specific errors are grouped under this category
+    #[display(fmt = "internal server error")]
+    InternalServerError,
+
+    #[display(fmt = "The value you entered for URL is not a URL")] //405j
+    /// The value you entered for url is not url"
+    NotAUrl,
+    #[display(fmt = "URL too long, maximum length can't be greater then 2048 characters")] //405
+    /// URL too long, maximum length can't be greater then 2048 characters
+    URLTooLong,
+
+    #[display(fmt = "Website not found")]
+    /// website not found
+    WebsiteNotFound,
+
+    /// when the a path configured for a page is already taken
+    #[display(
+        fmt = "Path already used for another website. lhs: {:?} rhs: {:?}",
+        _0,
+        _1
+    )]
+    PathTaken(Page, Page),
+
+    /// when the a Secret configured for a page is already taken
+    #[display(
+        fmt = "Secret already used for another website. lhs: {:?} rhs: {:?}",
+        _0,
+        _1
+    )]
+    SecretTaken(Page, Page),
+
+    /// when the a Repository URL configured for a page is already taken
+    #[display(
+        fmt = "Repository URL already configured for another website deployment. lhs: {:?} rhs: {:?}",
+        _0,
+        _1
+    )]
+    DuplicateRepositoryURL(Page, Page),
+
+    #[display(fmt = "File System Error {}", _0)]
+    FSError(FSError),
+
+    #[display(fmt = "Unauthorized {}", _0)]
+    UnauthorizedOperation(#[error(not(source))] String),
+
+    #[display(fmt = "Bad request: {}", _0)]
+    BadRequest(#[error(not(source))] String),
+
+    #[display(fmt = "Configuration Error {}", _0)]
+    ConfigError(ConfigError),
+
+    #[display(fmt = "Git Error {}", _0)]
+    GitError(GitError),
+}
+
+impl From<ParseError> for ServiceError {
+    #[cfg(not(tarpaulin_include))]
+    fn from(_: ParseError) -> ServiceError {
+        ServiceError::NotAUrl
+    }
+}
+
+impl From<GitError> for ServiceError {
+    #[cfg(not(tarpaulin_include))]
+    fn from(e: GitError) -> ServiceError {
+        ServiceError::GitError(e)
+    }
+}
+
+/// Generic result data structure
+#[cfg(not(tarpaulin_include))]
+pub type ServiceResult<V> = std::result::Result<V, ServiceError>;
+
+#[derive(Serialize, Deserialize, Debug)]
+#[cfg(not(tarpaulin_include))]
+pub struct ErrorToResponse {
+    pub error: String,
+}
+
+#[cfg(not(tarpaulin_include))]
+impl ResponseError for ServiceError {
+    #[cfg(not(tarpaulin_include))]
+    fn error_response(&self) -> HttpResponse {
+        HttpResponseBuilder::new(self.status_code())
+            .append_header((header::CONTENT_TYPE, "application/json; charset=UTF-8"))
+            .body(
+                serde_json::to_string(&ErrorToResponse {
+                    error: self.to_string(),
+                })
+                .unwrap(),
+            )
+    }
+
+    #[cfg(not(tarpaulin_include))]
+    fn status_code(&self) -> StatusCode {
+        match self {
+            ServiceError::InternalServerError => StatusCode::INTERNAL_SERVER_ERROR, // INTERNAL SERVER ERROR
+            ServiceError::ConfigError(_) => StatusCode::INTERNAL_SERVER_ERROR, // INTERNAL SERVER ERROR
+            ServiceError::NotAUrl => StatusCode::BAD_REQUEST,                  //BADREQUEST,
+            ServiceError::URLTooLong => StatusCode::BAD_REQUEST,               //BADREQUEST,
+            ServiceError::WebsiteNotFound => StatusCode::NOT_FOUND,            //NOT FOUND,
+
+            ServiceError::PathTaken(_, _) => StatusCode::BAD_REQUEST, //BADREQUEST,
+            ServiceError::DuplicateRepositoryURL(_, _) => StatusCode::BAD_REQUEST, //BADREQUEST,
+            ServiceError::SecretTaken(_, _) => StatusCode::BAD_REQUEST, //BADREQUEST,
+            ServiceError::FSError(_) => StatusCode::INTERNAL_SERVER_ERROR,
+
+            ServiceError::UnauthorizedOperation(_) => StatusCode::UNAUTHORIZED,
+            ServiceError::BadRequest(_) => StatusCode::BAD_REQUEST,
+            ServiceError::GitError(_) => StatusCode::BAD_REQUEST,
+        }
+    }
+}
+
+
+ \ No newline at end of file diff --git a/src/pages/main.rs.html b/src/pages/main.rs.html index ab74714..41a6bd9 100644 --- a/src/pages/main.rs.html +++ b/src/pages/main.rs.html @@ -100,6 +100,7 @@ 95 96 97 +98
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -126,6 +127,7 @@
 use log::info;
 
 mod deploy;
+mod errors;
 mod meta;
 mod page;
 mod routes;
diff --git a/src/pages/page.rs.html b/src/pages/page.rs.html
index e5b9207..a1f140d 100644
--- a/src/pages/page.rs.html
+++ b/src/pages/page.rs.html
@@ -129,6 +129,8 @@
 124
 125
 126
+127
+128
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -149,7 +151,9 @@
 use log::info;
 use serde::Deserialize;
 
-#[derive(Debug, Clone, Deserialize)]
+use crate::errors::*;
+
+#[derive(Debug, Clone, PartialEq, Deserialize)]
 pub struct Page {
     pub secret: String,
     pub repo: String,
@@ -158,50 +162,50 @@
 }
 
 impl Page {
-    fn create_repo(&self) -> Repository {
+    fn create_repo(&self) -> ServiceResult<Repository> {
         let repo = Repository::open(&self.path);
 
         if let Ok(repo) = repo {
-            return repo;
+            return Ok(repo);
         } else {
             info!("Cloning repository {} at {}", self.repo, self.path);
-            Repository::clone(&self.repo, &self.path).unwrap()
+            Repository::clone(&self.repo, &self.path)?;
         };
 
-        let repo = Repository::open(&self.path).unwrap();
-        self._fetch_upstream(&repo, &self.branch);
-        self.deploy_branch(&repo);
-        repo
+        let repo = Repository::open(&self.path)?;
+        self._fetch_upstream(&repo, &self.branch)?;
+        self.deploy_branch(&repo)?;
+        Ok(repo)
     }
 
-    pub fn deploy_branch(&self, repo: &Repository) {
-        let branch = repo
-            .find_branch(&format!("origin/{}", &self.branch), BranchType::Remote)
-            .unwrap();
+    pub fn deploy_branch(&self, repo: &Repository) -> ServiceResult<()> {
+        let branch = repo.find_branch(&format!("origin/{}", &self.branch), BranchType::Remote)?;
 
         let mut checkout_options = CheckoutBuilder::new();
         checkout_options.force();
 
-        let tree = branch.get().peel(ObjectType::Tree).unwrap();
+        let tree = branch.get().peel(ObjectType::Tree)?;
 
-        repo.checkout_tree(&tree, Some(&mut checkout_options))
-            .unwrap();
-        repo.set_head(branch.get().name().unwrap()).unwrap();
+        repo.checkout_tree(&tree, Some(&mut checkout_options))?;
+        repo.set_head(branch.get().name().unwrap())?;
         info!("Deploying branch {}", self.branch);
+        Ok(())
     }
 
-    fn _fetch_upstream(&self, repo: &Repository, branch: &str) {
+    fn _fetch_upstream(&self, repo: &Repository, branch: &str) -> ServiceResult<()> {
         let mut remote = repo.find_remote("origin").unwrap();
-        remote.connect(Direction::Fetch).unwrap();
+        remote.connect(Direction::Fetch)?;
         info!("Updating repository {}", self.repo);
-        remote.fetch(&[branch], None, None).unwrap();
-        remote.disconnect().unwrap();
+        remote.fetch(&[branch], None, None)?;
+        remote.disconnect()?;
+        Ok(())
     }
 
-    pub fn update(&self) {
-        let repo = self.create_repo();
-        self._fetch_upstream(&repo, &self.branch);
-        self.deploy_branch(&repo);
+    pub fn update(&self) -> ServiceResult<()> {
+        let repo = self.create_repo()?;
+        self._fetch_upstream(&repo, &self.branch)?;
+        self.deploy_branch(&repo)?;
+        Ok(())
     }
 }
 
@@ -236,9 +240,9 @@
             "repository doesn't exist yet"
         );
 
-        let repo = page.create_repo();
+        let repo = page.create_repo().unwrap();
         assert!(!repo.is_bare(), "repository isn't bare");
-        page.create_repo();
+        page.create_repo().unwrap();
         assert!(
             Repository::open(tmp_dir.as_path()).is_ok(),
             "repository exists yet"
@@ -250,7 +254,7 @@
             &"origin/gh-pages"
         );
         page.branch = "master".to_string();
-        page.update();
+        page.update().unwrap();
         let master = page.get_tree(&repo);
         assert_eq!(master.name().unwrap().as_ref().unwrap(), &"origin/master");
     }
diff --git a/src/pages/settings.rs.html b/src/pages/settings.rs.html
index b91b6d8..d557c22 100644
--- a/src/pages/settings.rs.html
+++ b/src/pages/settings.rs.html
@@ -120,6 +120,21 @@
 115
 116
 117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -139,11 +154,12 @@
 use std::env;
 use std::path::Path;
 
-use config::{Config, ConfigError, Environment, File};
+use config::{Config, Environment, File};
 use log::warn;
 use serde::Deserialize;
 use url::Url;
 
+use crate::errors::*;
 use crate::page::Page;
 
 #[derive(Debug, Clone, Deserialize)]
@@ -169,7 +185,7 @@
 
 #[cfg(not(tarpaulin_include))]
 impl Settings {
-    pub fn new() -> Result<Self, ConfigError> {
+    pub fn new() -> ServiceResult<Self> {
         let mut s = Config::builder();
 
         const CURRENT_DIR: &str = "./config/default.toml";
@@ -221,12 +237,26 @@
                 if index2 == index {
                     continue;
                 }
-                if page.secret == page2.secret || page.repo == page2.repo || page.path == page2.path
-                {
-                    panic!("duplicate page onfiguration {:?} and {:?}", page, page2);
+                if page.secret == page2.secret {
+                    log::error!(
+                        "{}",
+                        ServiceError::SecretTaken(page.to_owned(), page2.to_owned())
+                    );
+                } else if page.repo == page2.repo {
+                    log::error!(
+                        "{}",
+                        ServiceError::DuplicateRepositoryURL(page.to_owned(), page2.to_owned(),)
+                    );
+                } else if page.path == page2.path {
+                    log::error!(
+                        "{}",
+                        ServiceError::PathTaken(page.to_owned(), page2.to_owned())
+                    );
                 }
             }
-            page.update();
+            if let Err(e) = page.update() {
+                    log::error!("{e}");
+            }
         }
 
         Ok(settings)