|
@@ -374,14 +374,11 @@ pub async fn render_handler_with_context<F: FnMut(&mut DioxusServerContext)>(
|
|
request: Request<Body>,
|
|
request: Request<Body>,
|
|
) -> impl IntoResponse {
|
|
) -> impl IntoResponse {
|
|
let (parts, _) = request.into_parts();
|
|
let (parts, _) = request.into_parts();
|
|
- let url = parts
|
|
|
|
- .uri
|
|
|
|
- .path_and_query()
|
|
|
|
- .ok_or(StatusCode::BAD_REQUEST)?
|
|
|
|
- .to_string();
|
|
|
|
- let parts: Arc<parking_lot::RwLock<http::request::Parts>> =
|
|
|
|
- Arc::new(parking_lot::RwLock::new(parts));
|
|
|
|
- let server_context = DioxusServerContext::from_shared_parts(parts.clone());
|
|
|
|
|
|
+ let url = parts.uri.path_and_query().unwrap().to_string();
|
|
|
|
+ let parts: Arc<tokio::sync::RwLock<http::request::Parts>> =
|
|
|
|
+ Arc::new(tokio::sync::RwLock::new(parts));
|
|
|
|
+ let mut server_context = DioxusServerContext::new(parts.clone());
|
|
|
|
+ inject_context(&mut server_context);
|
|
|
|
|
|
match ssr_state
|
|
match ssr_state
|
|
.render(url, &cfg, move || virtual_dom_factory(), &server_context)
|
|
.render(url, &cfg, move || virtual_dom_factory(), &server_context)
|