Support unnamed inline fragment
This commit is contained in:
parent
a13204273e
commit
d4c4c52069
|
@ -243,9 +243,10 @@ where
|
|||
.map_err(actix_web::error::ErrorBadRequest)?
|
||||
};
|
||||
|
||||
let mut builder = gql_request
|
||||
.builder(schema)
|
||||
.map_err(actix_web::error::ErrorBadRequest)?;
|
||||
let mut builder = match gql_request.builder(schema) {
|
||||
Ok(builder) => builder,
|
||||
Err(err) => return Ok(web::Json(GQLResponse(Err(err))).respond_to(&req).await?),
|
||||
};
|
||||
|
||||
if let Some(on_request) = on_request {
|
||||
builder = on_request(&req, builder);
|
||||
|
@ -320,12 +321,13 @@ where
|
|||
.respond_to(&req)
|
||||
.await?)
|
||||
} else if ct.essence_str() == mime::APPLICATION_JSON {
|
||||
let mut gql_req = web::Json::<GQLRequest>::from_request(&req, &mut payload.0)
|
||||
let mut gql_request = web::Json::<GQLRequest>::from_request(&req, &mut payload.0)
|
||||
.await?
|
||||
.into_inner();
|
||||
let mut builder = gql_req
|
||||
.builder(schema)
|
||||
.map_err(actix_web::error::ErrorBadRequest)?;
|
||||
let mut builder = match gql_request.builder(schema) {
|
||||
Ok(builder) => builder,
|
||||
Err(err) => return Ok(web::Json(GQLResponse(Err(err))).respond_to(&req).await?),
|
||||
};
|
||||
if let Some(on_request) = on_request {
|
||||
builder = on_request(&req, builder);
|
||||
}
|
||||
|
|
|
@ -129,6 +129,12 @@ pub fn collect_fields<'a, T: ObjectType + Send + Sync>(
|
|||
&ctx.with_selection_set(&inline_fragment.selection_set),
|
||||
futures,
|
||||
)?;
|
||||
} else {
|
||||
collect_fields(
|
||||
&ctx.with_selection_set(&inline_fragment.selection_set),
|
||||
root,
|
||||
futures,
|
||||
)?;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user