Add Cosmo Router.md#75
Conversation
Adds a new section to the Readme (Router/Gateway) to list Gateways/Routers supporting this specification. A router will accept client requests following the spec and will then add the files to subgraph requests following the spec again. As a result, files are being piped from client to subgraph through the router.
jaydenseric
left a comment
There was a problem hiding this comment.
That's really neat Cosmo supports GraphQL file uploads!
|
|
||
| ### Router / Gateway | ||
|
|
||
| - [wundergraph/cosmo](https://github.com/wundergraph/cosmo) |
There was a problem hiding this comment.
The intention of this Implementations section is to:
- Show open source code examples of implementations of this spec. This is why the link to the GitHub repo containing the implementation code, and listing the programming language of the implementation, is required.
- List key open source packages that can be used to implement this spec. This is why links to the specific published packages are required.
We don't attempt to link to the thousands? of products that generally make use of GraphQL file uploads, as:
- Linking them all is impossible.
- Showing arbitrary favouritism to a selection isn't fair.
- It's not helpful to programmers looking for code examples to implement the spec.
In this section, "clients" are code that sends a request, and "servers" are code that receives a request.
With all that in mind, we can figure out the correct way to list the WunderGraph Cosmo client and server implementations of this spec.
If Cosmo has both a client and server implementation, those will be listed individually in the Client and Server subsections.
For each of the client and server implementations:
- What is the GitHub repo holding the actual implementation code?
- What programming language is it written in?
- What is the package closest to the actual implementation code that is published? We are not intending to list high level packages that compose the actual implementation packages.
Having glanced at the Cosmo PR that first implemented GraphQL file uploads (https://github.com/wundergraph/cosmo/pull/772/files), here is my rough understanding as a starting point:
Client
- wundergraph/cosmo (Go: ?)
Server
- wundergraph/cosmo (Go: ?)
I'm not really familiar with how Go packages are named and published to know the best way to link to the published packages for the server and client implementations.
If you have a monorepo and/or the server and client implementations are the exact same package, it's ok we list the same content twice in the Client and Server subsections.
Adds a new section to the Readme (Router/Gateway) to list Gateways/Routers supporting this specification.
A router will accept client requests following the spec and will then add the files to subgraph requests following the spec again. As a result, files are being piped from client to subgraph through the router.