From 7346479c5e60efc54192239d5d8525f358259b8e Mon Sep 17 00:00:00 2001
From: bytedream <bytedream@protonmail.com>
Date: Sun, 10 Dec 2023 00:31:00 +0100
Subject: [PATCH] Fix middleware not triggered when requesting raw

---
 src/crunchyroll.rs | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/crunchyroll.rs b/src/crunchyroll.rs
index a5171e4..00fe15f 100644
--- a/src/crunchyroll.rs
+++ b/src/crunchyroll.rs
@@ -472,7 +472,21 @@ mod auth {
         }
 
         pub(crate) async fn request_raw(self) -> Result<Vec<u8>> {
-            Ok(self.builder.send().await?.bytes().await?.to_vec())
+            #[cfg(not(feature = "tower"))]
+            return Ok(self.builder.send().await?.bytes().await?.to_vec());
+            #[cfg(feature = "tower")]
+            if let Some(middleware) = &self.executor.middleware {
+                Ok(middleware
+                    .lock()
+                    .await
+                    .call(self.builder.build()?)
+                    .await?
+                    .bytes()
+                    .await?
+                    .to_vec())
+            } else {
+                Ok(self.builder.send().await?.bytes().await?.to_vec())
+            }
         }
     }