apollographql / apollographql/federation
feat(gateway): Design proper abstraction for transport layer
- Dominant language
- TypeScript
- Stars
- 725
- Forks
- 276
- Avg merge
- 1h 47m
- Merged PRs (30d)
- 1
Description
The gateway is currently quite prescriptive about its transport layer including its construction and usage of `GraphQLDataSource`s. This issue is meant to capture requirements for an abstraction which should be reasonably flexible and can satisfy reasonable asks.
A few things to consider: non-HTTP, proxying, sdl "introspection" query vs. regular query (special case queries), custom headers, ???
Related:
#342
#362
#406
Aside from the discussion on the mentioned issues, I'd welcome any additional feedback on this issue.
Contributor guide
Research direction
No implementation files or tests are named. Start by reviewing related issues #342, #362, and #406, then inspect how the gateway constructs and uses GraphQLDataSources; done means agreeing on a flexible transport abstraction that addresses non-HTTP transports, proxying, special queries, and custom headers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql, typescript
- Domain
- api, backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100