Nil `Operation` field in the Operation Context
- Ngôn ngữ chính
- Go
- Star
- 10.8k
- Fork
- 1.3k
- Merge trung bình
- 2 ngày 36 phút
- Pull request đã merge (30 ngày)
- 26
Mô tả
### What happened?
I am using the `oc := graphql.GetOperationContext(ctx)` in a middleware in `AroundResponses` function. The `oc.Operation` field is nil when there are some validation errors.
Error details:
- Rule: `NoUnusedFragments`
- Extensions.Code: `GRAPHQL_VALIDATION_FAILED`
- Message: `Fragment \"...\" is never used.`
### What did you expect?
I expect the `Operation` filed to not be nil.
### Minimal graphql.schema and models to reproduce
### versions
- `go run github.com/99designs/gqlgen version`? gqlgen v0.17.24
- `go version`? Go 1.19
Hướng dẫn đóng góp
Hướng nghiên cứu
Hãy xem xét cách xử lý middleware trong codebase của gqlgen, đặc biệt là hook AroundResponses và OperationContext. Vấn đề là oc.Operation có giá trị nil khi xảy ra các lỗi validation như NoUnusedFragments. Trước tiên, hãy kiểm tra cách các lỗi validation được thiết lập và thời điểm trường Operation được điền. Kiểm tra package graphql để tìm GetOperationContext và luồng validation. Việc chạy các test hiện có liên quan đến middleware và validation sẽ giúp xác minh fix.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- go, graphql
- Lĩnh vực
- api, backend
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 45/100