File tree Expand file tree Collapse file tree 2 files changed +15
-4
lines changed
Expand file tree Collapse file tree 2 files changed +15
-4
lines changed Original file line number Diff line number Diff line change @@ -45,14 +45,17 @@ pub struct Prerender {
4545}
4646
4747#[ derive( Debug , Clone ) ]
48- pub struct PrerenderBuilder { }
48+ pub struct PrerenderBuilder {
49+ pub ( crate ) forward_headers : bool ,
50+ }
4951
5052impl PrerenderBuilder {
5153 pub fn use_prerender_io ( self , token : String ) -> Prerender {
5254 let inner = Inner {
5355 prerender_service_url : middleware:: prerender_url ( ) ,
5456 inner_client : Client :: default ( ) ,
5557 prerender_token : Some ( token) ,
58+ forward_headers : self . forward_headers ,
5659 } ;
5760
5861 Prerender { inner : Rc :: new ( inner) }
@@ -65,15 +68,21 @@ impl PrerenderBuilder {
6568 prerender_service_url,
6669 inner_client : Client :: default ( ) ,
6770 prerender_token : None ,
71+ forward_headers : self . forward_headers ,
6872 } ;
6973
7074 Ok ( Prerender { inner : Rc :: new ( inner) } )
7175 }
76+
77+ pub const fn forward_headers ( mut self ) -> Self {
78+ self . forward_headers = true ;
79+ self
80+ }
7281}
7382
7483impl Prerender {
7584 pub const fn build ( ) -> PrerenderBuilder {
76- PrerenderBuilder { }
85+ PrerenderBuilder { forward_headers : false }
7786 }
7887}
7988
Original file line number Diff line number Diff line change @@ -21,6 +21,9 @@ pub struct Inner {
2121 pub ( crate ) prerender_service_url : Url ,
2222 pub ( crate ) inner_client : Client ,
2323 pub ( crate ) prerender_token : Option < String > ,
24+
25+ // Should forward request headers to Prerender.
26+ pub ( crate ) forward_headers : bool ,
2427}
2528
2629pub ( crate ) fn prerender_url ( ) -> Url {
@@ -97,9 +100,8 @@ impl<S> PrerenderMiddleware<S> {
97100
98101 pub async fn get_rendered_response ( inner : & Inner , req : ServiceRequest ) -> Result < ServiceResponse , PrerenderError > {
99102 let mut prerender_request_headers = HeaderMap :: new ( ) ;
100- let forward_headers = true ;
101103
102- if forward_headers {
104+ if inner . forward_headers {
103105 prerender_request_headers = req. headers ( ) . clone ( ) ;
104106 prerender_request_headers. remove ( header:: HOST ) ;
105107 }
You can’t perform that action at this time.
0 commit comments