Skip to content

Conversation

@jensneuse
Copy link

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.

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.
Copy link
Owner

@jaydenseric jaydenseric left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's really neat Cosmo supports GraphQL file uploads!

Comment on lines +260 to +263

### Router / Gateway

- [wundergraph/cosmo](https://github.com/wundergraph/cosmo)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Server

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.

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