@@ -2,6 +2,7 @@ use crate::utils::BoxFuture;
2
2
use http_types:: headers:: HeaderValue ;
3
3
use http_types:: { headers, Method , StatusCode } ;
4
4
5
+ use crate :: http;
5
6
use crate :: middleware:: { Middleware , Next } ;
6
7
use crate :: { Request , Result } ;
7
8
@@ -167,7 +168,7 @@ impl<State: Send + Sync + 'static> Middleware<State> for CorsMiddleware {
167
168
return Ok ( self . build_preflight_response ( & origins) . into ( ) ) ;
168
169
}
169
170
170
- let mut response: http_service :: Response = next. run ( req) . await ?. into ( ) ;
171
+ let mut response: http :: Response = next. run ( req) . await ?. into ( ) ;
171
172
response
172
173
. insert_header (
173
174
headers:: ACCESS_CONTROL_ALLOW_ORIGIN ,
@@ -242,7 +243,6 @@ impl From<Vec<&str>> for Origin {
242
243
#[ cfg( test) ]
243
244
mod test {
244
245
use super :: * ;
245
- use http_service_mock:: make_server;
246
246
use http_types:: headers:: { self , HeaderValue } ;
247
247
248
248
const ALLOW_ORIGIN : & str = "example.com" ;
@@ -271,8 +271,8 @@ mod test {
271
271
req
272
272
}
273
273
274
- #[ test]
275
- fn preflight_request ( ) {
274
+ #[ async_std :: test]
275
+ async fn preflight_request ( ) {
276
276
let mut app = app ( ) ;
277
277
app. middleware (
278
278
CorsMiddleware :: new ( )
@@ -282,13 +282,11 @@ mod test {
282
282
. allow_credentials ( true ) ,
283
283
) ;
284
284
285
- let mut server = make_server ( app) . unwrap ( ) ;
286
-
287
285
let mut req = http_types:: Request :: new ( http_types:: Method :: Options , endpoint_url ( ) ) ;
288
286
req. insert_header ( http_types:: headers:: ORIGIN , ALLOW_ORIGIN )
289
287
. unwrap ( ) ;
290
288
291
- let res = server . simulate ( req) . unwrap ( ) ;
289
+ let res: crate :: http :: Response = app . respond ( req) . await . unwrap ( ) ;
292
290
293
291
assert_eq ! ( res. status( ) , 200 ) ;
294
292
@@ -316,13 +314,11 @@ mod test {
316
314
"true"
317
315
) ;
318
316
}
319
- #[ test]
320
- fn default_cors_middleware ( ) {
317
+ #[ async_std :: test]
318
+ async fn default_cors_middleware ( ) {
321
319
let mut app = app ( ) ;
322
320
app. middleware ( CorsMiddleware :: new ( ) ) ;
323
-
324
- let mut server = make_server ( app) . unwrap ( ) ;
325
- let res = server. simulate ( request ( ) ) . unwrap ( ) ;
321
+ let res: crate :: http:: Response = app. respond ( request ( ) ) . await . unwrap ( ) ;
326
322
327
323
assert_eq ! ( res. status( ) , 200 ) ;
328
324
@@ -332,8 +328,8 @@ mod test {
332
328
) ;
333
329
}
334
330
335
- #[ test]
336
- fn custom_cors_middleware ( ) {
331
+ #[ async_std :: test]
332
+ async fn custom_cors_middleware ( ) {
337
333
let mut app = app ( ) ;
338
334
app. middleware (
339
335
CorsMiddleware :: new ( )
@@ -342,9 +338,7 @@ mod test {
342
338
. allow_methods ( ALLOW_METHODS . parse :: < HeaderValue > ( ) . unwrap ( ) )
343
339
. expose_headers ( EXPOSE_HEADER . parse :: < HeaderValue > ( ) . unwrap ( ) ) ,
344
340
) ;
345
-
346
- let mut server = make_server ( app) . unwrap ( ) ;
347
- let res = server. simulate ( request ( ) ) . unwrap ( ) ;
341
+ let res: crate :: http:: Response = app. respond ( request ( ) ) . await . unwrap ( ) ;
348
342
349
343
assert_eq ! ( res. status( ) , 200 ) ;
350
344
assert_eq ! (
@@ -353,13 +347,11 @@ mod test {
353
347
) ;
354
348
}
355
349
356
- #[ test]
357
- fn credentials_true ( ) {
350
+ #[ async_std :: test]
351
+ async fn credentials_true ( ) {
358
352
let mut app = app ( ) ;
359
353
app. middleware ( CorsMiddleware :: new ( ) . allow_credentials ( true ) ) ;
360
-
361
- let mut server = make_server ( app) . unwrap ( ) ;
362
- let res = server. simulate ( request ( ) ) . unwrap ( ) ;
354
+ let res: crate :: http:: Response = app. respond ( request ( ) ) . await . unwrap ( ) ;
363
355
364
356
assert_eq ! ( res. status( ) , 200 ) ;
365
357
assert_eq ! (
@@ -370,20 +362,18 @@ mod test {
370
362
) ;
371
363
}
372
364
373
- #[ test]
374
- fn set_allow_origin_list ( ) {
365
+ #[ async_std :: test]
366
+ async fn set_allow_origin_list ( ) {
375
367
let mut app = app ( ) ;
376
368
let origins = vec ! [ ALLOW_ORIGIN , "foo.com" , "bar.com" ] ;
377
369
app. middleware ( CorsMiddleware :: new ( ) . allow_origin ( origins. clone ( ) ) ) ;
378
- let mut server = make_server ( app) . unwrap ( ) ;
379
370
380
371
for origin in origins {
381
- let mut request = http_types:: Request :: new ( http_types:: Method :: Get , endpoint_url ( ) ) ;
382
- request
383
- . insert_header ( http_types:: headers:: ORIGIN , origin)
372
+ let mut req = http_types:: Request :: new ( http_types:: Method :: Get , endpoint_url ( ) ) ;
373
+ req. insert_header ( http_types:: headers:: ORIGIN , origin)
384
374
. unwrap ( ) ;
385
375
386
- let res = server . simulate ( request ) . unwrap ( ) ;
376
+ let res: crate :: http :: Response = app . respond ( req ) . await . unwrap ( ) ;
387
377
388
378
assert_eq ! ( res. status( ) , 200 ) ;
389
379
assert_eq ! (
@@ -393,31 +383,26 @@ mod test {
393
383
}
394
384
}
395
385
396
- #[ test]
397
- fn not_set_origin_header ( ) {
386
+ #[ async_std :: test]
387
+ async fn not_set_origin_header ( ) {
398
388
let mut app = app ( ) ;
399
389
app. middleware ( CorsMiddleware :: new ( ) . allow_origin ( ALLOW_ORIGIN ) ) ;
400
390
401
- let request = http_types:: Request :: new ( http_types:: Method :: Get , endpoint_url ( ) ) ;
402
-
403
- let mut server = make_server ( app) . unwrap ( ) ;
404
- let res = server. simulate ( request) . unwrap ( ) ;
391
+ let req = crate :: http:: Request :: new ( http_types:: Method :: Get , endpoint_url ( ) ) ;
392
+ let res: crate :: http:: Response = app. respond ( req) . await . unwrap ( ) ;
405
393
406
394
assert_eq ! ( res. status( ) , 200 ) ;
407
395
}
408
396
409
- #[ test]
410
- fn unauthorized_origin ( ) {
397
+ #[ async_std :: test]
398
+ async fn unauthorized_origin ( ) {
411
399
let mut app = app ( ) ;
412
400
app. middleware ( CorsMiddleware :: new ( ) . allow_origin ( ALLOW_ORIGIN ) ) ;
413
401
414
- let mut request = http_types:: Request :: new ( http_types:: Method :: Get , endpoint_url ( ) ) ;
415
- request
416
- . insert_header ( http_types:: headers:: ORIGIN , "unauthorize-origin.net" )
402
+ let mut req = http_types:: Request :: new ( http_types:: Method :: Get , endpoint_url ( ) ) ;
403
+ req. insert_header ( http_types:: headers:: ORIGIN , "unauthorize-origin.net" )
417
404
. unwrap ( ) ;
418
-
419
- let mut server = make_server ( app) . unwrap ( ) ;
420
- let res = server. simulate ( request) . unwrap ( ) ;
405
+ let res: crate :: http:: Response = app. respond ( req) . await . unwrap ( ) ;
421
406
422
407
assert_eq ! ( res. status( ) , 401 ) ;
423
408
}
0 commit comments