11//! Axum extractors for htmx request headers.
22
3- use async_trait:: async_trait;
43use axum_core:: extract:: FromRequestParts ;
54use http:: request:: Parts ;
65
@@ -21,7 +20,6 @@ use crate::{
2120#[ derive( Debug , Clone , Copy ) ]
2221pub struct HxBoosted ( pub bool ) ;
2322
24- #[ async_trait]
2523impl < S > FromRequestParts < S > for HxBoosted
2624where
2725 S : Send + Sync ,
3028
3129 async fn from_request_parts ( parts : & mut Parts , _: & S ) -> Result < Self , Self :: Rejection > {
3230 if parts. headers . contains_key ( HX_BOOSTED ) {
33- return Ok ( HxBoosted ( true ) ) ;
31+ Ok ( HxBoosted ( true ) )
3432 } else {
35- return Ok ( HxBoosted ( false ) ) ;
33+ Ok ( HxBoosted ( false ) )
3634 }
3735 }
3836}
4745#[ derive( Debug , Clone ) ]
4846pub struct HxCurrentUrl ( pub Option < http:: Uri > ) ;
4947
50- #[ async_trait]
5148impl < S > FromRequestParts < S > for HxCurrentUrl
5249where
5350 S : Send + Sync ,
6461 return Ok ( HxCurrentUrl ( url) ) ;
6562 }
6663
67- return Ok ( HxCurrentUrl ( None ) ) ;
64+ Ok ( HxCurrentUrl ( None ) )
6865 }
6966}
7067
7572#[ derive( Debug , Clone , Copy ) ]
7673pub struct HxHistoryRestoreRequest ( pub bool ) ;
7774
78- #[ async_trait]
7975impl < S > FromRequestParts < S > for HxHistoryRestoreRequest
8076where
8177 S : Send + Sync ,
8480
8581 async fn from_request_parts ( parts : & mut Parts , _: & S ) -> Result < Self , Self :: Rejection > {
8682 if parts. headers . contains_key ( HX_HISTORY_RESTORE_REQUEST ) {
87- return Ok ( HxHistoryRestoreRequest ( true ) ) ;
83+ Ok ( HxHistoryRestoreRequest ( true ) )
8884 } else {
89- return Ok ( HxHistoryRestoreRequest ( false ) ) ;
85+ Ok ( HxHistoryRestoreRequest ( false ) )
9086 }
9187 }
9288}
10197#[ derive( Debug , Clone ) ]
10298pub struct HxPrompt ( pub Option < String > ) ;
10399
104- #[ async_trait]
105100impl < S > FromRequestParts < S > for HxPrompt
106101where
107102 S : Send + Sync ,
@@ -115,7 +110,7 @@ where
115110 }
116111 }
117112
118- return Ok ( HxPrompt ( None ) ) ;
113+ Ok ( HxPrompt ( None ) )
119114 }
120115}
121116
@@ -129,7 +124,6 @@ where
129124#[ derive( Debug , Clone , Copy ) ]
130125pub struct HxRequest ( pub bool ) ;
131126
132- #[ async_trait]
133127impl < S > FromRequestParts < S > for HxRequest
134128where
135129 S : Send + Sync ,
@@ -144,9 +138,9 @@ where
144138 . map ( crate :: auto_vary:: Notifier :: notify) ;
145139
146140 if parts. headers . contains_key ( HX_REQUEST ) {
147- return Ok ( HxRequest ( true ) ) ;
141+ Ok ( HxRequest ( true ) )
148142 } else {
149- return Ok ( HxRequest ( false ) ) ;
143+ Ok ( HxRequest ( false ) )
150144 }
151145 }
152146}
@@ -162,7 +156,6 @@ where
162156#[ derive( Debug , Clone ) ]
163157pub struct HxTarget ( pub Option < String > ) ;
164158
165- #[ async_trait]
166159impl < S > FromRequestParts < S > for HxTarget
167160where
168161 S : Send + Sync ,
@@ -182,7 +175,7 @@ where
182175 }
183176 }
184177
185- return Ok ( HxTarget ( None ) ) ;
178+ Ok ( HxTarget ( None ) )
186179 }
187180}
188181
@@ -197,7 +190,6 @@ where
197190#[ derive( Debug , Clone ) ]
198191pub struct HxTriggerName ( pub Option < String > ) ;
199192
200- #[ async_trait]
201193impl < S > FromRequestParts < S > for HxTriggerName
202194where
203195 S : Send + Sync ,
@@ -217,7 +209,7 @@ where
217209 }
218210 }
219211
220- return Ok ( HxTriggerName ( None ) ) ;
212+ Ok ( HxTriggerName ( None ) )
221213 }
222214}
223215
@@ -232,7 +224,6 @@ where
232224#[ derive( Debug , Clone ) ]
233225pub struct HxTrigger ( pub Option < String > ) ;
234226
235- #[ async_trait]
236227impl < S > FromRequestParts < S > for HxTrigger
237228where
238229 S : Send + Sync ,
@@ -252,6 +243,6 @@ where
252243 }
253244 }
254245
255- return Ok ( HxTrigger ( None ) ) ;
246+ Ok ( HxTrigger ( None ) )
256247 }
257248}
0 commit comments