@@ -208,7 +208,6 @@ See the [example](https://github.com/lawliet89/rocket_cors/blob/master/examples/
208
208
*/
209
209
210
210
#
435
434
#[ derive( Clone , Debug , Eq , PartialEq ) ]
436
435
#[ cfg_attr( feature = "serialization" , derive( Serialize , Deserialize ) ) ]
436
+ #[ derive( Default ) ]
437
437
pub enum AllOrSome < T > {
438
438
/// Everything is allowed. Usually equivalent to the "*" value.
439
+ #[ default]
439
440
All ,
440
441
/// Only some of `T` is allowed
441
442
Some ( T ) ,
442
443
}
443
444
444
- impl < T > Default for AllOrSome < T > {
445
- fn default ( ) -> Self {
446
- AllOrSome :: All
447
- }
448
- }
449
-
450
445
impl < T > AllOrSome < T > {
451
446
/// Returns whether this is an `All` variant
452
447
pub fn is_all ( & self ) -> bool {
@@ -1468,10 +1463,7 @@ impl Response {
1468
1463
}
1469
1464
1470
1465
/// Validate and create a new CORS Response from a request and settings
1471
- pub fn validate_and_build < ' a , ' r > (
1472
- options : & ' a Cors ,
1473
- request : & ' a Request < ' r > ,
1474
- ) -> Result < Self , Error > {
1466
+ pub fn validate_and_build < ' a > ( options : & ' a Cors , request : & ' a Request ) -> Result < Self , Error > {
1475
1467
validate_and_build ( options, request)
1476
1468
}
1477
1469
}
@@ -1735,7 +1727,7 @@ fn validate_allowed_method(
1735
1727
method : & AccessControlRequestMethod ,
1736
1728
allowed_methods : & AllowedMethods ,
1737
1729
) -> Result < ( ) , Error > {
1738
- let & AccessControlRequestMethod ( ref request_method) = method;
1730
+ let AccessControlRequestMethod ( request_method) = method;
1739
1731
if !allowed_methods. iter ( ) . any ( |m| m == request_method) {
1740
1732
return Err ( Error :: MethodNotAllowed ( method. 0 . to_string ( ) ) ) ;
1741
1733
}
@@ -1749,7 +1741,7 @@ fn validate_allowed_headers(
1749
1741
headers : & AccessControlRequestHeaders ,
1750
1742
allowed_headers : & AllowedHeaders ,
1751
1743
) -> Result < ( ) , Error > {
1752
- let & AccessControlRequestHeaders ( ref headers) = headers;
1744
+ let AccessControlRequestHeaders ( headers) = headers;
1753
1745
1754
1746
match * allowed_headers {
1755
1747
AllOrSome :: All => Ok ( ( ) ) ,
@@ -1897,7 +1889,7 @@ fn preflight_response(
1897
1889
1898
1890
// We do not do anything special with simple headers
1899
1891
if let Some ( headers) = headers {
1900
- let & AccessControlRequestHeaders ( ref headers) = headers;
1892
+ let AccessControlRequestHeaders ( headers) = headers;
1901
1893
response. headers (
1902
1894
headers
1903
1895
. iter ( )
@@ -2242,7 +2234,7 @@ mod tests {
2242
2234
#[ test]
2243
2235
fn validate_origin_allows_all_origins ( ) {
2244
2236
let url = "https://www.example.com" ;
2245
- let origin = not_err ! ( to_parsed_origin( & url) ) ;
2237
+ let origin = not_err ! ( to_parsed_origin( url) ) ;
2246
2238
let allowed_origins = AllOrSome :: All ;
2247
2239
2248
2240
not_err ! ( validate_origin( & origin, & allowed_origins) ) ;
@@ -2251,7 +2243,7 @@ mod tests {
2251
2243
#[ test]
2252
2244
fn validate_origin_allows_origin ( ) {
2253
2245
let url = "https://www.example.com" ;
2254
- let origin = not_err ! ( to_parsed_origin( & url) ) ;
2246
+ let origin = not_err ! ( to_parsed_origin( url) ) ;
2255
2247
let allowed_origins = not_err ! ( parse_allowed_origins( & AllowedOrigins :: some_exact( & [
2256
2248
"https://www.example.com"
2257
2249
] ) ) ) ;
@@ -2270,7 +2262,7 @@ mod tests {
2270
2262
] ;
2271
2263
2272
2264
for ( url, allowed_origin) in cases {
2273
- let origin = not_err ! ( to_parsed_origin( & url) ) ;
2265
+ let origin = not_err ! ( to_parsed_origin( url) ) ;
2274
2266
let allowed_origins = not_err ! ( parse_allowed_origins( & AllowedOrigins :: some_exact( & [
2275
2267
allowed_origin
2276
2268
] ) ) ) ;
@@ -2287,18 +2279,18 @@ mod tests {
2287
2279
] ) ) ) ;
2288
2280
2289
2281
let url = "https://www.example-something.com" ;
2290
- let origin = not_err ! ( to_parsed_origin( & url) ) ;
2282
+ let origin = not_err ! ( to_parsed_origin( url) ) ;
2291
2283
not_err ! ( validate_origin( & origin, & allowed_origins) ) ;
2292
2284
2293
2285
let url = "https://subdomain.acme.com" ;
2294
- let origin = not_err ! ( to_parsed_origin( & url) ) ;
2286
+ let origin = not_err ! ( to_parsed_origin( url) ) ;
2295
2287
not_err ! ( validate_origin( & origin, & allowed_origins) ) ;
2296
2288
}
2297
2289
2298
2290
#[ test]
2299
2291
fn validate_origin_validates_opaque_origins ( ) {
2300
2292
let url = "moz-extension://8c7c4444-e29f-…cb8-1ade813dbd12/js/content.js:505" ;
2301
- let origin = not_err ! ( to_parsed_origin( & url) ) ;
2293
+ let origin = not_err ! ( to_parsed_origin( url) ) ;
2302
2294
let allowed_origins = not_err ! ( parse_allowed_origins( & AllowedOrigins :: some_regex( & [
2303
2295
"moz-extension://.*"
2304
2296
] ) ) ) ;
@@ -2314,19 +2306,19 @@ mod tests {
2314
2306
) ) ) ;
2315
2307
2316
2308
let url = "https://www.example-something123.com" ;
2317
- let origin = not_err ! ( to_parsed_origin( & url) ) ;
2309
+ let origin = not_err ! ( to_parsed_origin( url) ) ;
2318
2310
not_err ! ( validate_origin( & origin, & allowed_origins) ) ;
2319
2311
2320
2312
let url = "https://www.acme.com" ;
2321
- let origin = not_err ! ( to_parsed_origin( & url) ) ;
2313
+ let origin = not_err ! ( to_parsed_origin( url) ) ;
2322
2314
not_err ! ( validate_origin( & origin, & allowed_origins) ) ;
2323
2315
}
2324
2316
2325
2317
#[ test]
2326
2318
#[ should_panic( expected = "OriginNotAllowed" ) ]
2327
2319
fn validate_origin_rejects_invalid_origin ( ) {
2328
2320
let url = "https://www.acme.com" ;
2329
- let origin = not_err ! ( to_parsed_origin( & url) ) ;
2321
+ let origin = not_err ! ( to_parsed_origin( url) ) ;
2330
2322
let allowed_origins = not_err ! ( parse_allowed_origins( & AllowedOrigins :: some_exact( & [
2331
2323
"https://www.example.com"
2332
2324
] ) ) ) ;
@@ -2489,7 +2481,7 @@ mod tests {
2489
2481
& AllOrSome :: Some (
2490
2482
allowed_headers
2491
2483
. iter( )
2492
- . map( |s| FromStr :: from_str( * s) . unwrap( ) )
2484
+ . map( |s| FromStr :: from_str( s) . unwrap( ) )
2493
2485
. collect( ) ,
2494
2486
) ,
2495
2487
) ) ;
@@ -2506,7 +2498,7 @@ mod tests {
2506
2498
& AllOrSome :: Some (
2507
2499
allowed_headers
2508
2500
. iter ( )
2509
- . map ( |s| FromStr :: from_str ( * s) . unwrap ( ) )
2501
+ . map ( |s| FromStr :: from_str ( s) . unwrap ( ) )
2510
2502
. collect ( ) ,
2511
2503
) ,
2512
2504
)
0 commit comments