Skip to content

Update audit checks since the legacy watershed has passed #139

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -890,14 +890,10 @@ Their compliance with the [GraphQL over HTTP spec](https://graphql.github.io/gra
| Name | Audit |
|------|-------|
| [apollo-server](https://www.apollographql.com/docs/apollo-server) | [✅ Compliant](/implementations/apollo-server/README.md) |
| [deno](https://deno.com/blog/build-a-graphql-server-with-deno) | [✅ Compliant](/implementations/deno/README.md) |
| [graph-client](https://github.com/graphprotocol/graph-client) | [✅ Compliant](/implementations/graph-client/README.md) |
| [graphql-helix](https://www.graphql-helix.com) | [✅ Compliant](/implementations/graphql-helix/README.md) |
| [graphql-yoga](https://www.the-guild.dev/graphql/yoga-server) | [✅ Compliant](/implementations/graphql-yoga/README.md) |
| [hotchocolate](https://chillicream.com/docs/hotchocolate) | [✅ Compliant](/implementations/hotchocolate/README.md) |
| [lighthouse](https://lighthouse-php.com) | [✅ Compliant](/implementations/lighthouse/README.md) |
| [pioneer](https://pioneer.dexclaimation.com) | [✅ Compliant](/implementations/pioneer/README.md) |
| [postgraphile](https://www.graphile.org/postgraphile) | [✅ Compliant](/implementations/postgraphile/README.md) |
<!-- prettier-ignore-end -->

<!-- </ServersTable> -->
Expand Down
44 changes: 26 additions & 18 deletions implementations/apollo-server/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@
<h1>GraphQL over HTTP audit report</h1>

<ul>
<li><b>60</b> audits in total</li>
<li><span style="font-family: monospace">✅</span> <b>54</b> pass</li>
<li><b>68</b> audits in total</li>
<li><span style="font-family: monospace">✅</span> <b>62</b> pass</li>
<li><span style="font-family: monospace">💡</span> <b>3</b> notices (suggestions)</li>
<li><span style="font-family: monospace">❗️</span> <b>3</b> warnings (optional)</li>
</ul>

<h2>Passing</h2>
<ol>
<li><code>22EB</code> SHOULD accept application/graphql-response+json and match the content-type</li>
<li><code>22EB</code> MUST accept application/graphql-response+json and match the content-type</li>
<li><code>4655</code> MUST accept application/json and match the content-type</li>
<li><code>47DE</code> SHOULD accept */* and use application/json for the content-type</li>
<li><code>80D8</code> SHOULD assume application/json content-type when accept is missing</li>
<li><code>47DE</code> SHOULD accept */* and use application/graphql-response+json or application/json for the content-type</li>
<li><code>80D8</code> SHOULD assume application/json or application/graphql-response+json content-type when accept is missing</li>
<li><code>82A3</code> MUST use utf-8 encoding when responding</li>
<li><code>BF61</code> MUST accept utf-8 encoded request</li>
<li><code>78D5</code> MUST assume utf-8 in request if encoding is unspecified</li>
Expand All @@ -28,40 +28,48 @@
<li><code>LKJ1</code> MAY use 400 status code on number {query} parameter</li>
<li><code>LKJ2</code> MAY use 400 status code on boolean {query} parameter</li>
<li><code>LKJ3</code> MAY use 400 status code on array {query} parameter</li>
<li><code>34A2</code> SHOULD allow string {query} parameter when accepting application/graphql-response+json</li>
<li><code>34A2</code> MUST allow string {query} parameter when accepting application/graphql-response+json</li>
<li><code>13EE</code> MUST allow string {query} parameter when accepting application/json</li>
<li><code>6C00</code> MAY use 400 status code on object {operationName} parameter</li>
<li><code>6C01</code> MAY use 400 status code on number {operationName} parameter</li>
<li><code>6C02</code> MAY use 400 status code on boolean {operationName} parameter</li>
<li><code>6C03</code> MAY use 400 status code on array {operationName} parameter</li>
<li><code>8161</code> SHOULD allow string {operationName} parameter when accepting application/graphql-response+json</li>
<li><code>8161</code> MUST allow string {operationName} parameter when accepting application/graphql-response+json</li>
<li><code>B8B3</code> MUST allow string {operationName} parameter when accepting application/json</li>
<li><code>94B0</code> SHOULD allow null {variables} parameter when accepting application/graphql-response+json</li>
<li><code>94B0</code> MUST allow null {variables} parameter when accepting application/graphql-response+json</li>
<li><code>0220</code> MUST allow null {variables} parameter when accepting application/json</li>
<li><code>94B1</code> SHOULD allow null {operationName} parameter when accepting application/graphql-response+json</li>
<li><code>94B1</code> MUST allow null {operationName} parameter when accepting application/graphql-response+json</li>
<li><code>0221</code> MUST allow null {operationName} parameter when accepting application/json</li>
<li><code>94B2</code> SHOULD allow null {extensions} parameter when accepting application/graphql-response+json</li>
<li><code>94B2</code> MUST allow null {extensions} parameter when accepting application/graphql-response+json</li>
<li><code>0222</code> MUST allow null {extensions} parameter when accepting application/json</li>
<li><code>4760</code> MAY use 400 status code on string {variables} parameter</li>
<li><code>4761</code> MAY use 400 status code on number {variables} parameter</li>
<li><code>4762</code> MAY use 400 status code on boolean {variables} parameter</li>
<li><code>4763</code> MAY use 400 status code on array {variables} parameter</li>
<li><code>2EA1</code> SHOULD allow map {variables} parameter when accepting application/graphql-response+json</li>
<li><code>2EA1</code> MUST allow map {variables} parameter when accepting application/graphql-response+json</li>
<li><code>28B9</code> MUST allow map {variables} parameter when accepting application/json</li>
<li><code>58B0</code> MAY use 400 status code on string {extensions} parameter</li>
<li><code>58B1</code> MAY use 400 status code on number {extensions} parameter</li>
<li><code>58B2</code> MAY use 400 status code on boolean {extensions} parameter</li>
<li><code>58B3</code> MAY use 400 status code on array {extensions} parameter</li>
<li><code>428F</code> SHOULD allow map {extensions} parameter when accepting application/graphql-response+json</li>
<li><code>0280</code> MUST use 4xx or 5xx status codes on string {extensions} parameter when accepting application/graphql-response+json</li>
<li><code>0281</code> MUST use 4xx or 5xx status codes on number {extensions} parameter when accepting application/graphql-response+json</li>
<li><code>0282</code> MUST use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/graphql-response+json</li>
<li><code>0283</code> MUST use 4xx or 5xx status codes on array {extensions} parameter when accepting application/graphql-response+json</li>
<li><code>2330</code> SHOULD use 4xx status code on string {extensions} parameter when accepting application/graphql-response+json</li>
<li><code>2331</code> SHOULD use 4xx status code on number {extensions} parameter when accepting application/graphql-response+json</li>
<li><code>2332</code> SHOULD use 4xx status code on boolean {extensions} parameter when accepting application/graphql-response+json</li>
<li><code>2333</code> SHOULD use 4xx status code on array {extensions} parameter when accepting application/graphql-response+json</li>
<li><code>58B0</code> SHOULD use 4xx or 5xx status codes on string {extensions} parameter when accepting application/json</li>
<li><code>58B1</code> SHOULD use 4xx or 5xx status codes on number {extensions} parameter when accepting application/json</li>
<li><code>58B2</code> SHOULD use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/json</li>
<li><code>58B3</code> SHOULD use 4xx or 5xx status codes on array {extensions} parameter when accepting application/json</li>
<li><code>428F</code> MUST allow map {extensions} parameter when accepting application/graphql-response+json</li>
<li><code>1B7A</code> MUST allow map {extensions} parameter when accepting application/json</li>
<li><code>B6DC</code> MAY use 4xx or 5xx status codes on JSON parsing failure</li>
<li><code>BCF8</code> MAY use 400 status code on JSON parsing failure</li>
<li><code>8764</code> MAY use 4xx or 5xx status codes if parameters are invalid</li>
<li><code>3E3A</code> MAY use 400 status code if parameters are invalid</li>
<li><code>865D</code> SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json</li>
<li><code>865D</code> MUST use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json</li>
<li><code>556A</code> SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json</li>
<li><code>D586</code> SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json</li>
<li><code>51FE</code> SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json</li>
<li><code>51FE</code> MUST use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json</li>
<li><code>74FF</code> SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json</li>
<li><code>5E5B</code> SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json</li>
<li><code>86EE</code> SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json</li>
Expand Down
4 changes: 2 additions & 2 deletions implementations/apollo-server/report.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"total": 60,
"ok": 54,
"total": 68,
"ok": 62,
"notice": 3,
"warn": 3,
"error": 0
Expand Down
Loading
Loading