@@ -22,6 +22,10 @@ pub enum HttpMethod {
2222 Put ,
2323 Delete ,
2424 Patch ,
25+ Head ,
26+ Options ,
27+ Trace ,
28+ Connect ,
2529}
2630
2731impl HttpMethod {
@@ -33,6 +37,10 @@ impl HttpMethod {
3337 Self :: Put => "put" ,
3438 Self :: Delete => "delete" ,
3539 Self :: Patch => "patch" ,
40+ Self :: Head => "head" ,
41+ Self :: Options => "options" ,
42+ Self :: Trace => "trace" ,
43+ Self :: Connect => "connect" ,
3644 } ;
3745 proc_macro2:: Ident :: new ( name, proc_macro2:: Span :: call_site ( ) )
3846 }
@@ -45,6 +53,10 @@ impl HttpMethod {
4553 Self :: Put => "PUT" ,
4654 Self :: Delete => "DELETE" ,
4755 Self :: Patch => "PATCH" ,
56+ Self :: Head => "HEAD" ,
57+ Self :: Options => "OPTIONS" ,
58+ Self :: Trace => "TRACE" ,
59+ Self :: Connect => "CONNECT" ,
4860 }
4961 }
5062
@@ -56,13 +68,19 @@ impl HttpMethod {
5668 "put" => Some ( Self :: Put ) ,
5769 "delete" => Some ( Self :: Delete ) ,
5870 "patch" => Some ( Self :: Patch ) ,
71+ "head" => Some ( Self :: Head ) ,
72+ "options" => Some ( Self :: Options ) ,
73+ "trace" => Some ( Self :: Trace ) ,
74+ "connect" => Some ( Self :: Connect ) ,
5975 _ => None ,
6076 }
6177 }
6278}
6379
6480/// 路由属性名称集合
65- pub const ROUTE_ATTR_NAMES : & [ & str ] = & [ "get" , "post" , "put" , "delete" , "patch" ] ;
81+ pub const ROUTE_ATTR_NAMES : & [ & str ] = & [
82+ "get" , "post" , "put" , "delete" , "patch" , "head" , "options" , "trace" , "connect" ,
83+ ] ;
6684
6785/// 将 WebR 路径语法转换为 axum 0.8+ 路径语法:
6886/// `/users/{id}` → `/users/{id}`(axum 0.8 原生支持 `{param}` 语法)
0 commit comments