aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/response/macros.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/response/macros.rs b/src/response/macros.rs
index e04b0ee..f49da2d 100644
--- a/src/response/macros.rs
+++ b/src/response/macros.rs
@@ -61,9 +61,41 @@ macro_rules! binary_success {
::windmark::Response::binary_success($body, $mime)
})
};
+ ($body:expr) => {{
+ #[cfg(not(feature = "auto-deduce-mime"))]
+ compile_error!(
+ "`binary_success` without a MIME type requires the `auto-deduce-mime` \
+ feature to be enabled"
+ );
+
+ ::std::boxed::Box::new(|_| {
+ #[cfg(feature = "auto-deduce-mime")]
+ return ::windmark::Response::binary_success_auto($body);
+
+ // Suppress item not found warning
+ #[cfg(not(feature = "auto-deduce-mime"))]
+ ::windmark::Response::binary_success($body, "application/octet-stream")
+ })
+ }};
($context:ident, $body:expr, $mime:expr) => {
::std::boxed::Box::new(|$context| {
::windmark::Response::binary_success($body, $mime)
})
};
+ ($context:ident, $body:expr) => {{
+ #[cfg(not(feature = "auto-deduce-mime"))]
+ compile_error!(
+ "`binary_success` without a MIME type requires the `auto-deduce-mime` \
+ feature to be enabled"
+ );
+
+ ::std::boxed::Box::new(|$context| {
+ #[cfg(feature = "auto-deduce-mime")]
+ return ::windmark::Response::binary_success_auto($body);
+
+ // Suppress item not found warning
+ #[cfg(not(feature = "auto-deduce-mime"))]
+ ::windmark::Response::binary_success($body, "application/octet-stream")
+ })
+ }};
}