Skip to content

Commit d824325

Browse files
committed
forward more response parts
1 parent 51edf19 commit d824325

File tree

1 file changed

+7
-4
lines changed
  • packages/fullstack/src/server

1 file changed

+7
-4
lines changed

packages/fullstack/src/server/mod.rs

+7-4
Original file line numberDiff line numberDiff line change
@@ -274,13 +274,16 @@ where
274274
}
275275

276276
fn apply_request_parts_to_response<B>(
277-
headers: hyper::header::HeaderMap,
277+
parts: &http::response::Parts,
278278
response: &mut axum::response::Response<B>,
279279
) {
280280
let mut_headers = response.headers_mut();
281-
for (key, value) in headers.iter() {
281+
for (key, value) in parts.headers.iter() {
282282
mut_headers.insert(key, value.clone());
283283
}
284+
*response.status_mut() = parts.status;
285+
*response.version_mut() = parts.version;
286+
*response.extensions_mut() = parts.extensions.clone();
284287
}
285288

286289
fn add_server_context(server_context: &DioxusServerContext, context_providers: &ContextProviders) {
@@ -410,8 +413,8 @@ pub async fn render_handler(
410413
Ok((freshness, rx)) => {
411414
let mut response = axum::response::Html::from(Body::from_stream(rx)).into_response();
412415
freshness.write(response.headers_mut());
413-
let headers = server_context.response_parts().headers.clone();
414-
apply_request_parts_to_response(headers, &mut response);
416+
let parts = server_context.response_parts();
417+
apply_request_parts_to_response(&parts, &mut response);
415418
Result::<http::Response<axum::body::Body>, StatusCode>::Ok(response)
416419
}
417420
Err(SSRError::Incremental(e)) => {

0 commit comments

Comments
 (0)