From b6d48fae91cffc3a9131eacfe78fdffd7858f8eb Mon Sep 17 00:00:00 2001 From: Sunli Date: Sat, 7 Nov 2020 08:27:50 +0800 Subject: [PATCH] Fix the problem that the `resolver_utils::resolve_container` function does not call the extensions. #336 --- src/resolver_utils/container.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/resolver_utils/container.rs b/src/resolver_utils/container.rs index a47602d8..c57aca74 100644 --- a/src/resolver_utils/container.rs +++ b/src/resolver_utils/container.rs @@ -159,6 +159,13 @@ impl<'a> Fields<'a> { let field_name = ctx_field.item.node.response_key().node.clone(); let res = if ctx_field.query_env.extensions.is_empty() { + match root.resolve_field(&ctx_field).await { + Ok(value) => Ok((field_name, value.unwrap_or_default())), + Err(e) => { + Err(e.path(PathSegment::Field(field_name.to_string()))) + } + }? + } else { let ctx_extension = ExtensionContext { schema_data: &ctx.schema_env.data, query_data: &ctx.query_env.ctx_data, @@ -210,13 +217,6 @@ impl<'a> Fields<'a> { .resolve_end(&ctx_extension, &resolve_info); res - } else { - match root.resolve_field(&ctx_field).await { - Ok(value) => Ok((field_name, value.unwrap_or_default())), - Err(e) => { - Err(e.path(PathSegment::Field(field_name.to_string()))) - } - }? }; Ok(res)