@@ -8,7 +8,7 @@ use std::{env, str};
8
8
9
9
use anyhow:: { bail, Context } ;
10
10
use futures_util:: { future, SinkExt , StreamExt } ;
11
- use http:: { HeaderName , HeaderValue } ;
11
+ use http:: { HeaderName , HeaderValue , Response } ;
12
12
use hyper_util:: rt:: { TokioExecutor , TokioIo } ;
13
13
use hyper_util:: server:: conn:: auto:: Builder ;
14
14
use hyper_util:: service:: TowerToHyperService ;
@@ -24,8 +24,8 @@ use tokio::time::timeout;
24
24
use tokio_tungstenite:: tungstenite:: { self , Message } ;
25
25
use tokio_tungstenite:: { MaybeTlsStream , WebSocketStream } ;
26
26
use tower:: ServiceBuilder ;
27
+ use tower_http:: services:: fs:: ServeFileSystemResponseBody ;
27
28
use tower_http:: services:: ServeDir ;
28
- use tower_http:: ServiceBuilderExt ;
29
29
30
30
/// A command sent from the client to the server.
31
31
#[ derive( Serialize ) ]
@@ -330,14 +330,17 @@ pub async fn test_example(
330
330
// Serve the path.
331
331
let service = TowerToHyperService :: new (
332
332
ServiceBuilder :: new ( )
333
- . override_response_header (
334
- HeaderName :: from_static ( "cross-origin-opener-policy" ) ,
335
- HeaderValue :: from_static ( "same-origin" ) ,
336
- )
337
- . override_response_header (
338
- HeaderName :: from_static ( "cross-origin-embedder-policy" ) ,
339
- HeaderValue :: from_static ( "require-corp" ) ,
340
- )
333
+ . map_response ( |mut response : Response < ServeFileSystemResponseBody > | {
334
+ response. headers_mut ( ) . insert (
335
+ HeaderName :: from_static ( "cross-origin-opener-policy" ) ,
336
+ HeaderValue :: from_static ( "same-origin" ) ,
337
+ ) ;
338
+ response. headers_mut ( ) . insert (
339
+ HeaderName :: from_static ( "cross-origin-embedder-policy" ) ,
340
+ HeaderValue :: from_static ( "require-corp" ) ,
341
+ ) ;
342
+ response
343
+ } )
341
344
. service ( ServeDir :: new ( path) ) ,
342
345
) ;
343
346
0 commit comments