pub mod config;
pub mod container;
pub mod core;
pub mod middleware;
pub mod mur_http;
pub mod router;
pub mod security;
pub mod server;
pub mod testing;
pub mod traits;
pub mod types;
pub mod utils;
pub use crate::container::builder::MurServiceContainerBuilder;
pub use crate::container::core::MurServiceContainer;
pub use crate::middleware::rate_limit::MurRateLimit;
pub use crate::middleware::rate_limit::RateLimitAlgorithm;
pub use crate::middleware::rate_limit::RateLimitConfig;
pub use crate::middleware::rate_limit::RateLimitKey;
pub use crate::middleware::timeout::MurTimeout;
pub use crate::middleware::timeout::TimeoutConfig;
pub use crate::mur_http::extractors::Param;
pub use crate::mur_http::multipart::MurFormField;
pub use crate::mur_http::multipart::MurMultipart;
pub use crate::mur_http::multipart::MurMultipartConfig;
pub use crate::mur_http::multipart::MurUploadedFile;
pub use ::http as http_crate;
pub use chrono;
pub use config::mur_current_env;
pub use config::mur_env;
pub use config::mur_env_is_true;
pub use config::mur_env_or;
pub use config::mur_env_parse;
pub use config::mur_env_parse_or;
pub use config::mur_is_development;
pub use config::mur_is_production;
pub use config::mur_is_test;
pub use config::mur_load_config;
pub use config::mur_load_config_required;
pub use config::source::MurConfigSource;
pub use config::source::MurEnvSource;
pub use config::source::MurFileSource;
pub use config::source::MurMemorySource;
pub use config::MurConfig;
pub use config::MurConfigBuilder;
pub use config::MurConfigError;
pub use config::MurConfigProvider;
pub use config::MurConfigProviderBuilder;
pub use config::MurConfigResult;
pub use config::MurConfigService;
pub use config::MurEnv;
pub use config::MurEnvProfile;
pub use config::MurFromConfig;
pub use container::injects::MurInjects;
pub use core::error::MurError;
pub use http_crate as http;
pub use hyper;
pub use mur_http::extractors::MurBody as HttpBody;
pub use mur_http::extractors::MurHeader as HttpHeader;
pub use mur_http::extractors::MurJson as HttpJson;
pub use mur_http::extractors::MurPath as HttpPath;
pub use mur_http::extractors::MurQuery as HttpQuery;
pub use mur_http::extractors::MurQueryParam as HttpQueryParam;
pub use mur_http::extractors::MurText as HttpText;
pub use mur_http::request::MurReq;
pub use mur_http::request::MurRequestContext as HttpRequestContext;
pub use mur_http::response::MurHttpResponse as HttpResponse;
pub use mur_http::response::MurIntoResponse as HttpIntoResponse;
pub use mur_http::response::MurResExt as HttpResExt;
pub use mur_http::response::MurResponseBuilder as HttpResponseBuilder;
pub use mur_http::MurBody;
pub use mur_http::MurHeader;
pub use mur_http::MurJson;
pub use mur_http::MurPath;
pub use mur_http::MurQuery;
pub use mur_http::MurQueryParam;
pub use mur_http::MurRequestContext;
pub use mur_http::MurText;
pub use murgamu_macros::api;
pub use murgamu_macros::body;
pub use murgamu_macros::controller;
pub use murgamu_macros::delete;
pub use murgamu_macros::get;
pub use murgamu_macros::guard;
pub use murgamu_macros::head;
pub use murgamu_macros::header;
pub use murgamu_macros::html_response;
pub use murgamu_macros::injectable;
pub use murgamu_macros::interceptor;
pub use murgamu_macros::json_response;
pub use murgamu_macros::main;
pub use murgamu_macros::module;
pub use murgamu_macros::no_content_response;
pub use murgamu_macros::ok_response;
pub use murgamu_macros::options;
pub use murgamu_macros::param;
pub use murgamu_macros::patch;
pub use murgamu_macros::post;
pub use murgamu_macros::put;
pub use murgamu_macros::query;
pub use murgamu_macros::route;
pub use murgamu_macros::service;
pub use murgamu_macros::text_response;
pub use murgamu_macros::validate;
pub use murgamu_macros::MurDto;
pub use murgamu_macros::MurEntity;
pub use router::MurRouteBuilder;
pub use router::MurRoutePattern;
pub use router::MurRouter;
pub use serde;
pub use serde_json;
pub use server::MurServer;
pub use server::MurServerConfig;
pub use server::MurServerRunner;
pub use tokio;
pub use traits::MurCloneController;
pub use traits::MurController;
pub use traits::MurDecorator;
pub use traits::MurExceptionFilter;
pub use traits::MurExtractor;
pub use traits::MurExtractorSync;
pub use traits::MurGuard;
pub use traits::MurGuardFuture;
pub use traits::MurGuardSync;
pub use traits::MurInjectable;
pub use traits::MurInterceptor;
pub use traits::MurInterceptorFuture;
pub use traits::MurMiddleware;
pub use traits::MurModule;
pub use traits::MurModuleConfig;
pub use traits::MurNext;
pub use traits::MurPipe;
pub use traits::MurPipeAsync;
pub use traits::MurProvider;
pub use traits::MurProviderScope;
pub use traits::MurService;
pub use traits::MurServiceFactory;
pub use types::controllers;
pub use types::IntoController;
pub use types::MurControllers;
pub use types::MurFuture;
pub use types::MurHttpResponse;
pub use types::MurIntoResponse;
pub use types::MurMainResult;
pub use types::MurMethod;
pub use types::MurPathParams;
pub use types::MurQueryParams;
pub use types::MurRequest;
pub use types::MurRes;
pub use types::MurResExt;
pub use types::MurResInfallible;
pub use types::MurResponse;
pub use types::MurResponseBuilder;
pub use types::MurRouteHandler;
pub use types::MurRouteInfo;
pub use types::MurServices;
pub use utils::mur_responder::MurResponder;
pub mod prelude {
pub use crate::api;
pub use crate::body;
pub use crate::controller;
pub use crate::controllers;
pub use crate::delete;
pub use crate::get;
pub use crate::guard;
pub use crate::head;
pub use crate::header;
pub use crate::html_response;
pub use crate::injectable;
pub use crate::interceptor;
pub use crate::json_response;
pub use crate::module;
pub use crate::mur_current_env;
pub use crate::mur_html;
pub use crate::mur_http::sse::mur_sse_channel;
pub use crate::mur_http::sse::mur_sse_data;
pub use crate::mur_http::sse::mur_sse_event;
pub use crate::mur_http::sse::mur_sse_headers;
pub use crate::mur_http::sse::mur_sse_json;
pub use crate::mur_http::sse::MurSse;
pub use crate::mur_http::sse::MurSseChannel;
pub use crate::mur_http::sse::MurSseConfig;
pub use crate::mur_http::sse::MurSseConnection;
pub use crate::mur_http::sse::MurSseEvent;
pub use crate::mur_http::sse::MurSseReceiver;
pub use crate::mur_http::sse::MurSseSendError;
pub use crate::mur_http::sse::MurSseSender;
pub use crate::mur_http::sse::MurSseStream;
pub use crate::mur_is_development;
pub use crate::mur_is_production;
pub use crate::mur_json;
pub use crate::mur_load_config;
pub use crate::mur_text;
pub use crate::no_content_response;
pub use crate::ok_response;
pub use crate::options;
pub use crate::param;
pub use crate::patch;
pub use crate::post;
pub use crate::put;
pub use crate::query;
pub use crate::route;
pub use crate::service;
pub use crate::text_response;
pub use crate::validate;
pub use crate::IntoController;
pub use crate::MurBody;
pub use crate::MurCloneController;
pub use crate::MurConfig;
pub use crate::MurConfigBuilder;
pub use crate::MurConfigService;
pub use crate::MurController;
pub use crate::MurControllers;
pub use crate::MurDecorator;
pub use crate::MurDto;
pub use crate::MurEntity;
pub use crate::MurEnv;
pub use crate::MurEnvProfile;
pub use crate::MurError;
pub use crate::MurExceptionFilter;
pub use crate::MurExtractor;
pub use crate::MurExtractorSync;
pub use crate::MurFuture;
pub use crate::MurGuard;
pub use crate::MurGuardFuture;
pub use crate::MurGuardSync;
pub use crate::MurHeader;
pub use crate::MurHttpResponse;
pub use crate::MurInjectable;
pub use crate::MurInjects;
pub use crate::MurInterceptor;
pub use crate::MurInterceptorFuture;
pub use crate::MurIntoResponse;
pub use crate::MurJson;
pub use crate::MurMethod;
pub use crate::MurMiddleware;
pub use crate::MurModule;
pub use crate::MurModuleConfig;
pub use crate::MurNext;
pub use crate::MurPath;
pub use crate::MurPathParams;
pub use crate::MurPipe;
pub use crate::MurPipeAsync;
pub use crate::MurProvider;
pub use crate::MurProviderScope;
pub use crate::MurQuery;
pub use crate::MurQueryParam;
pub use crate::MurQueryParams;
pub use crate::MurReq;
pub use crate::MurRequest;
pub use crate::MurRequestContext;
pub use crate::MurRes;
pub use crate::MurResExt;
pub use crate::MurResInfallible;
pub use crate::MurResponse;
pub use crate::MurResponseBuilder;
pub use crate::MurRouteBuilder;
pub use crate::MurRouteHandler;
pub use crate::MurRouteInfo;
pub use crate::MurRoutePattern;
pub use crate::MurRouter;
pub use crate::MurService;
pub use crate::MurServiceContainer;
pub use crate::MurServiceFactory;
pub use http;
pub use http::StatusCode;
pub use hyper;
pub use hyper::body::Bytes;
pub use serde;
pub use serde::{Deserialize, Serialize};
pub use serde_json;
pub use serde_json::json;
pub use serde_urlencoded;
pub use std::any::TypeId;
pub use std::collections::HashMap;
pub use std::sync::Arc;
pub use tokio;
}
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub const NAME: &str = "Murgamü";
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_version() {
assert!(!VERSION.is_empty());
}
#[test]
fn test_name() {
assert_eq!(NAME, "Murgamü");
}
}