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