Skip to content

response context support for interceptors#4191

Open
michelepra wants to merge 30 commits into
99designs:masterfrom
michelepra:response_generated_context
Open

response context support for interceptors#4191
michelepra wants to merge 30 commits into
99designs:masterfrom
michelepra:response_generated_context

Conversation

@michelepra

Copy link
Copy Markdown

This is PR for #3863

I think almost anything mentioned in #3864 is implemented

I have:

  • Added tests covering the bug / feature (see testing)
  • Updated any relevant documentation (see docs)

Feature is exposed under parameter subscription_context_field that is false by default

michelepra and others added 8 commits May 28, 2026 15:48
…ontext resolver

go generate removes this auto-generated warning block; keep the file in sync
with what the generator produces so check-generate CI passes.
Signed-off-by: Steve Coffman <steve@khanacademy.org>
@StevenACoffman

Copy link
Copy Markdown
Collaborator

@michelepra

After running go generate ./... it linting fails with:

Error: codegen/testserver/subscriptioncontextfield/resolver.go:52:1: File is not properly formatted (gofumpt)
  type mutationResolver struct{ *Resolver }
  ^
  Error: codegen/testserver/subscriptioncontextfield/resolver.go:39:1: File is not properly formatted (golines)
  func (r *subscriptionResolver) UserCreated(ctx context.Context) (<-chan graphql.SubscriptionField[*User], error) {

Then after running golangci-lint run --fix, git diff shows:

diff --git a/codegen/testserver/subscriptioncontextfield/resolver.go b/codegen/testserver/subscriptioncontextfield/resolver.go
index b0dab94a..0d44f4a4 100644
--- a/codegen/testserver/subscriptioncontextfield/resolver.go
+++ b/codegen/testserver/subscriptioncontextfield/resolver.go
@@ -36,7 +36,9 @@ func (r *queryResolver) GetEntity(ctx context.Context, id string) (Entity, error
 }
 
 // UserCreated is the resolver for the userCreated field.
-func (r *subscriptionResolver) UserCreated(ctx context.Context) (<-chan graphql.SubscriptionField[*User], error) {
+func (r *subscriptionResolver) UserCreated(
+	ctx context.Context,
+) (<-chan graphql.SubscriptionField[*User], error) {
 	panic("not implemented")
 }
 
@@ -49,6 +51,8 @@ func (r *Resolver) Query() QueryResolver { return &queryResolver{r} }
 // Subscription returns SubscriptionResolver implementation.
 func (r *Resolver) Subscription() SubscriptionResolver { return &subscriptionResolver{r} }
 
-type mutationResolver struct{ *Resolver }
-type queryResolver struct{ *Resolver }
-type subscriptionResolver struct{ *Resolver }
+type (
+	mutationResolver     struct{ *Resolver }
+	queryResolver        struct{ *Resolver }
+	subscriptionResolver struct{ *Resolver }
+)

So you have changed the templates in a way that does not pass proper Go formatting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants