diff --git a/docs/interfaces/audits_common.Audit.md b/docs/interfaces/audits_common.Audit.md
index abbcbe9d..002879a2 100644
--- a/docs/interfaces/audits_common.Audit.md
+++ b/docs/interfaces/audits_common.Audit.md
@@ -13,6 +13,7 @@ The test function will throw only if the error is fatal.
### Properties
- [fn](audits_common.Audit.md#fn)
+- [id](audits_common.Audit.md#id)
- [name](audits_common.Audit.md#name)
## Properties
@@ -31,6 +32,15 @@ The test function will throw only if the error is fatal.
___
+### id
+
+• **id**: `string`
+
+Uniquely represents the audit. Helps with pinning audits
+without depending on the human readable audit name.
+
+___
+
### name
• **name**: \`MUST ${string}\` \| \`SHOULD ${string}\` \| \`MAY ${string}\`
diff --git a/docs/interfaces/audits_common.AuditFail.md b/docs/interfaces/audits_common.AuditFail.md
index 0824862e..34af9839 100644
--- a/docs/interfaces/audits_common.AuditFail.md
+++ b/docs/interfaces/audits_common.AuditFail.md
@@ -15,6 +15,7 @@ is therefore not compliant.
### Properties
+- [id](audits_common.AuditFail.md#id)
- [name](audits_common.AuditFail.md#name)
- [reason](audits_common.AuditFail.md#reason)
- [response](audits_common.AuditFail.md#response)
@@ -22,6 +23,15 @@ is therefore not compliant.
## Properties
+### id
+
+• **id**: `string`
+
+Uniquely represents the failing audit. Helps with pinning audits
+without depending on the human readable audit name.
+
+___
+
### name
• **name**: \`MUST ${string}\` \| \`SHOULD ${string}\` \| \`MAY ${string}\`
diff --git a/docs/interfaces/audits_common.AuditOk.md b/docs/interfaces/audits_common.AuditOk.md
index 25162bce..2382c437 100644
--- a/docs/interfaces/audits_common.AuditOk.md
+++ b/docs/interfaces/audits_common.AuditOk.md
@@ -10,11 +10,21 @@ Indicates that the audit was successful.
### Properties
+- [id](audits_common.AuditOk.md#id)
- [name](audits_common.AuditOk.md#name)
- [status](audits_common.AuditOk.md#status)
## Properties
+### id
+
+• **id**: `string`
+
+Uniquely represents the passing audit. Helps with pinning audits
+without depending on the human readable audit name.
+
+___
+
### name
• **name**: \`MUST ${string}\` \| \`SHOULD ${string}\` \| \`MAY ${string}\`
diff --git a/implementations/apollo-server/README.md b/implementations/apollo-server/README.md
index 7dc5747f..4910f8e8 100644
--- a/implementations/apollo-server/README.md
+++ b/implementations/apollo-server/README.md
@@ -7,64 +7,64 @@ _* This report was auto-generated by graphql-http_
- ⚠️ **25** warnings (optional)
## Passing
-1. SHOULD accept application/graphql-response+json and match the content-type
-2. MUST accept application/json and match the content-type
-3. SHOULD accept \*/\* and use application/json for the content-type
-4. MUST use utf-8 encoding when responding
-5. MUST accept utf-8 encoded request
-6. MUST assume utf-8 in request if encoding is unspecified
-7. MUST accept POST requests
-8. MAY NOT allow executing mutations on GET requests
-9. SHOULD respond with 4xx status code if content-type is not supplied on POST requests
-10. MUST accept application/json POST requests
-11. MUST require a request body on POST
-12. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
-13. SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
-14. SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
-15. SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
-16. SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
-17. SHOULD allow string {query} parameter when accepting application/graphql-response+json
-18. MUST allow string {query} parameter when accepting application/json
-19. SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
-20. SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
-21. SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
-22. SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
-23. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
-24. MUST allow string {operationName} parameter when accepting application/json
-25. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
-26. MUST allow null {variables} parameter when accepting application/json
-27. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
-28. MUST allow null {operationName} parameter when accepting application/json
-29. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
-30. MUST allow null {extensions} parameter when accepting application/json
-31. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
-32. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
-33. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
-34. SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
-35. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
-36. MUST allow map {variables} parameter when accepting application/json
-37. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
-38. SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
-39. SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
-40. SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
-41. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
-42. MUST allow map {extensions} parameter when accepting application/json
-43. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
-44. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
-45. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
-46. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
-47. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
-48. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
-49. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
-50. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
-51. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
-52. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
-53. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
+1. `22EB` SHOULD accept application/graphql-response+json and match the content-type
+2. `4655` MUST accept application/json and match the content-type
+3. `47DE` SHOULD accept \*/\* and use application/json for the content-type
+4. `82A3` MUST use utf-8 encoding when responding
+5. `BF61` MUST accept utf-8 encoded request
+6. `78D5` MUST assume utf-8 in request if encoding is unspecified
+7. `2C94` MUST accept POST requests
+8. `9C48` MAY NOT allow executing mutations on GET requests
+9. `9ABE` SHOULD respond with 4xx status code if content-type is not supplied on POST requests
+10. `03D4` MUST accept application/json POST requests
+11. `7267` MUST require a request body on POST
+12. `6610` SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
+13. `4F50` SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
+14. `4F51` SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
+15. `4F52` SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
+16. `4F53` SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
+17. `34A2` SHOULD allow string {query} parameter when accepting application/graphql-response+json
+18. `13EE` MUST allow string {query} parameter when accepting application/json
+19. `E3E0` SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
+20. `E3E1` SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
+21. `E3E2` SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
+22. `E3E3` SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
+23. `8161` SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
+24. `B8B3` MUST allow string {operationName} parameter when accepting application/json
+25. `94B0` SHOULD allow null {variables} parameter when accepting application/graphql-response+json
+26. `0220` MUST allow null {variables} parameter when accepting application/json
+27. `94B1` SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
+28. `0221` MUST allow null {operationName} parameter when accepting application/json
+29. `94B2` SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
+30. `0222` MUST allow null {extensions} parameter when accepting application/json
+31. `69B0` SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
+32. `69B1` SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
+33. `69B2` SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
+34. `69B3` SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
+35. `2EA1` SHOULD allow map {variables} parameter when accepting application/graphql-response+json
+36. `28B9` MUST allow map {variables} parameter when accepting application/json
+37. `9040` SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
+38. `9041` SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
+39. `9042` SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
+40. `9043` SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
+41. `428F` SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
+42. `1B7A` MUST allow map {extensions} parameter when accepting application/json
+43. `60AA` SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
+44. `2163` SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
+45. `3E36` SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
+46. `17C5` SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
+47. `34D6` SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
+48. `865D` SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+49. `556A` SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+50. `D586` SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
+51. `51FE` SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+52. `74FF` SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+53. `5E5B` SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
## Warnings
The server _SHOULD_ support these, but is not required.
- 1. SHOULD assume application/json content-type when accept is missing
+ 1. `80D8` SHOULD assume application/json content-type when accept is missing
Response status code is not 200
@@ -105,7 +105,7 @@ The server _SHOULD_ support these, but is not required.
```
- 2. MAY accept application/x-www-form-urlencoded formatted GET requests
+ 2. `5A70` MAY accept application/x-www-form-urlencoded formatted GET requests
Response status code is not 200
@@ -146,7 +146,7 @@ The server _SHOULD_ support these, but is not required.
```
- 3. SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
+ 3. `3715` SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
Response status code is not 200
@@ -190,7 +190,7 @@ The server _SHOULD_ support these, but is not required.
```
- 4. SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
+ 4. `9FE0` SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
Response status code is not 200
@@ -232,7 +232,7 @@ The server _SHOULD_ support these, but is not required.
```
- 5. SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
+ 5. `9FE1` SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
Response status code is not 200
@@ -276,7 +276,7 @@ The server _SHOULD_ support these, but is not required.
```
- 6. SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
+ 6. `9FE2` SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
Response status code is not 200
@@ -320,7 +320,7 @@ The server _SHOULD_ support these, but is not required.
```
- 7. SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
+ 7. `9FE3` SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
Response status code is not 200
@@ -362,7 +362,7 @@ The server _SHOULD_ support these, but is not required.
```
- 8. SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
+ 8. `FB90` SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
Response status code is not 200
@@ -403,7 +403,7 @@ The server _SHOULD_ support these, but is not required.
```
- 9. SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
+ 9. `FB91` SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
Response status code is not 200
@@ -444,7 +444,7 @@ The server _SHOULD_ support these, but is not required.
```
- 10. SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
+ 10. `FB92` SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
Response status code is not 200
@@ -485,7 +485,7 @@ The server _SHOULD_ support these, but is not required.
```
- 11. SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
+ 11. `FB93` SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
Response status code is not 200
@@ -526,7 +526,7 @@ The server _SHOULD_ support these, but is not required.
```
- 12. SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
+ 12. `F050` SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
Response status code is not 200
@@ -567,7 +567,7 @@ The server _SHOULD_ support these, but is not required.
```
- 13. SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
+ 13. `F051` SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
Response status code is not 200
@@ -608,7 +608,7 @@ The server _SHOULD_ support these, but is not required.
```
- 14. SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
+ 14. `F052` SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
Response status code is not 200
@@ -649,7 +649,7 @@ The server _SHOULD_ support these, but is not required.
```
- 15. SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
+ 15. `F053` SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
Response status code is not 200
@@ -690,7 +690,7 @@ The server _SHOULD_ support these, but is not required.
```
- 16. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
+ 16. `D6D5` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
Response status code is not 200
@@ -731,7 +731,7 @@ The server _SHOULD_ support these, but is not required.
```
- 17. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
+ 17. `6A70` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
Response status code is not 200
@@ -772,7 +772,7 @@ The server _SHOULD_ support these, but is not required.
```
- 18. SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
+ 18. `3680` SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
Response status code is not 200
@@ -813,7 +813,7 @@ The server _SHOULD_ support these, but is not required.
```
- 19. SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
+ 19. `3681` SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
Response status code is not 200
@@ -854,7 +854,7 @@ The server _SHOULD_ support these, but is not required.
```
- 20. SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
+ 20. `3682` SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
Response status code is not 200
@@ -895,7 +895,7 @@ The server _SHOULD_ support these, but is not required.
```
- 21. SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
+ 21. `3683` SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
Response status code is not 200
@@ -936,7 +936,7 @@ The server _SHOULD_ support these, but is not required.
```
- 22. SHOULD use 200 status code on JSON parsing failure when accepting application/json
+ 22. `D477` SHOULD use 200 status code on JSON parsing failure when accepting application/json
Response status code is not 200
@@ -960,7 +960,7 @@ The server _SHOULD_ support these, but is not required.
```
- 23. SHOULD use 200 status code if parameters are invalid when accepting application/json
+ 23. `F5AF` SHOULD use 200 status code if parameters are invalid when accepting application/json
Response status code is not 200
@@ -1004,7 +1004,7 @@ The server _SHOULD_ support these, but is not required.
```
- 24. SHOULD use 200 status code on document parsing failure when accepting application/json
+ 24. `572B` SHOULD use 200 status code on document parsing failure when accepting application/json
Response status code is not 200
@@ -1056,7 +1056,7 @@ The server _SHOULD_ support these, but is not required.
```
- 25. SHOULD use 200 status code on document validation failure when accepting application/json
+ 25. `FDE2` SHOULD use 200 status code on document validation failure when accepting application/json
Response status code is not 200
diff --git a/implementations/deno/README.md b/implementations/deno/README.md
index e7140865..85ff9eff 100644
--- a/implementations/deno/README.md
+++ b/implementations/deno/README.md
@@ -7,46 +7,46 @@ _* This report was auto-generated by graphql-http_
- ⚠️ **43** warnings (optional)
## Passing
-1. MUST accept application/json and match the content-type
-2. SHOULD accept \*/\* and use application/json for the content-type
-3. SHOULD assume application/json content-type when accept is missing
-4. MUST use utf-8 encoding when responding
-5. MUST accept utf-8 encoded request
-6. MUST assume utf-8 in request if encoding is unspecified
-7. MUST accept POST requests
-8. MAY accept application/x-www-form-urlencoded formatted GET requests
-9. MAY NOT allow executing mutations on GET requests
-10. SHOULD respond with 4xx status code if content-type is not supplied on POST requests
-11. MUST accept application/json POST requests
-12. MUST require a request body on POST
-13. SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
-14. SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
-15. SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
-16. SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
-17. SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
-18. MUST allow string {query} parameter when accepting application/json
-19. SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
-20. SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
-21. SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
-22. SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
-23. MUST allow string {operationName} parameter when accepting application/json
-24. MUST allow null {variables} parameter when accepting application/json
-25. MUST allow null {operationName} parameter when accepting application/json
-26. MUST allow null {extensions} parameter when accepting application/json
-27. MUST allow map {variables} parameter when accepting application/json
-28. MUST allow map {extensions} parameter when accepting application/json
-29. SHOULD use 200 status code if parameters are invalid when accepting application/json
-30. SHOULD use 200 status code on document parsing failure when accepting application/json
-31. SHOULD use 200 status code on document validation failure when accepting application/json
-32. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
-33. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
-34. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
-35. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+1. `4655` MUST accept application/json and match the content-type
+2. `47DE` SHOULD accept \*/\* and use application/json for the content-type
+3. `80D8` SHOULD assume application/json content-type when accept is missing
+4. `82A3` MUST use utf-8 encoding when responding
+5. `BF61` MUST accept utf-8 encoded request
+6. `78D5` MUST assume utf-8 in request if encoding is unspecified
+7. `2C94` MUST accept POST requests
+8. `5A70` MAY accept application/x-www-form-urlencoded formatted GET requests
+9. `9C48` MAY NOT allow executing mutations on GET requests
+10. `9ABE` SHOULD respond with 4xx status code if content-type is not supplied on POST requests
+11. `03D4` MUST accept application/json POST requests
+12. `7267` MUST require a request body on POST
+13. `3715` SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
+14. `9FE0` SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
+15. `9FE1` SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
+16. `9FE2` SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
+17. `9FE3` SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
+18. `13EE` MUST allow string {query} parameter when accepting application/json
+19. `FB90` SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
+20. `FB91` SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
+21. `FB92` SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
+22. `FB93` SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
+23. `B8B3` MUST allow string {operationName} parameter when accepting application/json
+24. `0220` MUST allow null {variables} parameter when accepting application/json
+25. `0221` MUST allow null {operationName} parameter when accepting application/json
+26. `0222` MUST allow null {extensions} parameter when accepting application/json
+27. `28B9` MUST allow map {variables} parameter when accepting application/json
+28. `1B7A` MUST allow map {extensions} parameter when accepting application/json
+29. `F5AF` SHOULD use 200 status code if parameters are invalid when accepting application/json
+30. `572B` SHOULD use 200 status code on document parsing failure when accepting application/json
+31. `FDE2` SHOULD use 200 status code on document validation failure when accepting application/json
+32. `60AA` SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
+33. `3E36` SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
+34. `865D` SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+35. `51FE` SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
## Warnings
The server _SHOULD_ support these, but is not required.
- 1. SHOULD accept application/graphql-response+json and match the content-type
+ 1. `22EB` SHOULD accept application/graphql-response+json and match the content-type
Response status code is not 200
@@ -66,7 +66,7 @@ The server _SHOULD_ support these, but is not required.
```
- 2. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
+ 2. `6610` SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -86,7 +86,7 @@ The server _SHOULD_ support these, but is not required.
```
- 3. SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
+ 3. `4F50` SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -106,7 +106,7 @@ The server _SHOULD_ support these, but is not required.
```
- 4. SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
+ 4. `4F51` SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -126,7 +126,7 @@ The server _SHOULD_ support these, but is not required.
```
- 5. SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
+ 5. `4F52` SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -146,7 +146,7 @@ The server _SHOULD_ support these, but is not required.
```
- 6. SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
+ 6. `4F53` SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -166,7 +166,7 @@ The server _SHOULD_ support these, but is not required.
```
- 7. SHOULD allow string {query} parameter when accepting application/graphql-response+json
+ 7. `34A2` SHOULD allow string {query} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -186,7 +186,7 @@ The server _SHOULD_ support these, but is not required.
```
- 8. SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
+ 8. `E3E0` SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -206,7 +206,7 @@ The server _SHOULD_ support these, but is not required.
```
- 9. SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
+ 9. `E3E1` SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -226,7 +226,7 @@ The server _SHOULD_ support these, but is not required.
```
- 10. SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
+ 10. `E3E2` SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -246,7 +246,7 @@ The server _SHOULD_ support these, but is not required.
```
- 11. SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
+ 11. `E3E3` SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -266,7 +266,7 @@ The server _SHOULD_ support these, but is not required.
```
- 12. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
+ 12. `8161` SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -286,7 +286,7 @@ The server _SHOULD_ support these, but is not required.
```
- 13. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
+ 13. `94B0` SHOULD allow null {variables} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -306,7 +306,7 @@ The server _SHOULD_ support these, but is not required.
```
- 14. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
+ 14. `94B1` SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -326,7 +326,7 @@ The server _SHOULD_ support these, but is not required.
```
- 15. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
+ 15. `94B2` SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -346,7 +346,7 @@ The server _SHOULD_ support these, but is not required.
```
- 16. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
+ 16. `69B0` SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -366,7 +366,7 @@ The server _SHOULD_ support these, but is not required.
```
- 17. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
+ 17. `69B1` SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -386,7 +386,7 @@ The server _SHOULD_ support these, but is not required.
```
- 18. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
+ 18. `69B2` SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -406,7 +406,7 @@ The server _SHOULD_ support these, but is not required.
```
- 19. SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
+ 19. `69B3` SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -426,7 +426,7 @@ The server _SHOULD_ support these, but is not required.
```
- 20. SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
+ 20. `F050` SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
Response status code is not 200
@@ -447,7 +447,7 @@ The server _SHOULD_ support these, but is not required.
```
- 21. SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
+ 21. `F051` SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
Response status code is not 200
@@ -468,7 +468,7 @@ The server _SHOULD_ support these, but is not required.
```
- 22. SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
+ 22. `F052` SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
Response status code is not 200
@@ -489,7 +489,7 @@ The server _SHOULD_ support these, but is not required.
```
- 23. SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
+ 23. `F053` SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -510,7 +510,7 @@ The server _SHOULD_ support these, but is not required.
```
- 24. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
+ 24. `2EA1` SHOULD allow map {variables} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -530,7 +530,7 @@ The server _SHOULD_ support these, but is not required.
```
- 25. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
+ 25. `D6D5` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
Response status code is not 200
@@ -550,7 +550,7 @@ The server _SHOULD_ support these, but is not required.
```
- 26. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
+ 26. `6A70` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
Response body execution result has a property "errors"
@@ -571,7 +571,7 @@ The server _SHOULD_ support these, but is not required.
```
- 27. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
+ 27. `9040` SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -591,7 +591,7 @@ The server _SHOULD_ support these, but is not required.
```
- 28. SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
+ 28. `9041` SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -611,7 +611,7 @@ The server _SHOULD_ support these, but is not required.
```
- 29. SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
+ 29. `9042` SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -631,7 +631,7 @@ The server _SHOULD_ support these, but is not required.
```
- 30. SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
+ 30. `9043` SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -651,7 +651,7 @@ The server _SHOULD_ support these, but is not required.
```
- 31. SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
+ 31. `3680` SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -672,7 +672,7 @@ The server _SHOULD_ support these, but is not required.
```
- 32. SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
+ 32. `3681` SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -693,7 +693,7 @@ The server _SHOULD_ support these, but is not required.
```
- 33. SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
+ 33. `3682` SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -714,7 +714,7 @@ The server _SHOULD_ support these, but is not required.
```
- 34. SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
+ 34. `3683` SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -735,7 +735,7 @@ The server _SHOULD_ support these, but is not required.
```
- 35. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
+ 35. `428F` SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -755,7 +755,7 @@ The server _SHOULD_ support these, but is not required.
```
- 36. SHOULD use 200 status code on JSON parsing failure when accepting application/json
+ 36. `D477` SHOULD use 200 status code on JSON parsing failure when accepting application/json
Response status code is not 200
@@ -776,7 +776,7 @@ The server _SHOULD_ support these, but is not required.
```
- 37. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
+ 37. `2163` SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
Response status code is not 400
@@ -796,7 +796,7 @@ The server _SHOULD_ support these, but is not required.
```
- 38. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
+ 38. `17C5` SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
Response status code is not 400
@@ -816,7 +816,7 @@ The server _SHOULD_ support these, but is not required.
```
- 39. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
+ 39. `34D6` SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
Response body is not valid JSON
@@ -836,7 +836,7 @@ The server _SHOULD_ support these, but is not required.
```
- 40. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+ 40. `556A` SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
Response status code is not 400
@@ -856,7 +856,7 @@ The server _SHOULD_ support these, but is not required.
```
- 41. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
+ 41. `D586` SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
Response body is not valid JSON
@@ -876,7 +876,7 @@ The server _SHOULD_ support these, but is not required.
```
- 42. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+ 42. `74FF` SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
Response status code is not 400
@@ -896,7 +896,7 @@ The server _SHOULD_ support these, but is not required.
```
- 43. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
+ 43. `5E5B` SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
Response body is not valid JSON
diff --git a/implementations/express-graphql/README.md b/implementations/express-graphql/README.md
index b37529d8..20c8591c 100644
--- a/implementations/express-graphql/README.md
+++ b/implementations/express-graphql/README.md
@@ -7,56 +7,56 @@ _* This report was auto-generated by graphql-http_
- ⚠️ **33** warnings (optional)
## Passing
-1. MUST accept application/json and match the content-type
-2. SHOULD accept \*/\* and use application/json for the content-type
-3. SHOULD assume application/json content-type when accept is missing
-4. MUST use utf-8 encoding when responding
-5. MUST accept utf-8 encoded request
-6. MUST assume utf-8 in request if encoding is unspecified
-7. MUST accept POST requests
-8. MAY accept application/x-www-form-urlencoded formatted GET requests
-9. MAY NOT allow executing mutations on GET requests
-10. SHOULD respond with 4xx status code if content-type is not supplied on POST requests
-11. MUST accept application/json POST requests
-12. MUST require a request body on POST
-13. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
-14. SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
-15. SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
-16. SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
-17. SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
-18. SHOULD allow string {query} parameter when accepting application/graphql-response+json
-19. MUST allow string {query} parameter when accepting application/json
-20. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
-21. MUST allow string {operationName} parameter when accepting application/json
-22. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
-23. MUST allow null {variables} parameter when accepting application/json
-24. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
-25. MUST allow null {operationName} parameter when accepting application/json
-26. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
-27. MUST allow null {extensions} parameter when accepting application/json
-28. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
-29. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
-30. MUST allow map {variables} parameter when accepting application/json
-31. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
-32. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
-33. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
-34. MUST allow map {extensions} parameter when accepting application/json
-35. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
-36. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
-37. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
-38. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
-39. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
-40. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
-41. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
-42. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
-43. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
-44. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
-45. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
+1. `4655` MUST accept application/json and match the content-type
+2. `47DE` SHOULD accept \*/\* and use application/json for the content-type
+3. `80D8` SHOULD assume application/json content-type when accept is missing
+4. `82A3` MUST use utf-8 encoding when responding
+5. `BF61` MUST accept utf-8 encoded request
+6. `78D5` MUST assume utf-8 in request if encoding is unspecified
+7. `2C94` MUST accept POST requests
+8. `5A70` MAY accept application/x-www-form-urlencoded formatted GET requests
+9. `9C48` MAY NOT allow executing mutations on GET requests
+10. `9ABE` SHOULD respond with 4xx status code if content-type is not supplied on POST requests
+11. `03D4` MUST accept application/json POST requests
+12. `7267` MUST require a request body on POST
+13. `6610` SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
+14. `4F50` SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
+15. `4F51` SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
+16. `4F52` SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
+17. `4F53` SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
+18. `34A2` SHOULD allow string {query} parameter when accepting application/graphql-response+json
+19. `13EE` MUST allow string {query} parameter when accepting application/json
+20. `8161` SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
+21. `B8B3` MUST allow string {operationName} parameter when accepting application/json
+22. `94B0` SHOULD allow null {variables} parameter when accepting application/graphql-response+json
+23. `0220` MUST allow null {variables} parameter when accepting application/json
+24. `94B1` SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
+25. `0221` MUST allow null {operationName} parameter when accepting application/json
+26. `94B2` SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
+27. `0222` MUST allow null {extensions} parameter when accepting application/json
+28. `69B0` SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
+29. `2EA1` SHOULD allow map {variables} parameter when accepting application/graphql-response+json
+30. `28B9` MUST allow map {variables} parameter when accepting application/json
+31. `D6D5` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
+32. `6A70` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
+33. `428F` SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
+34. `1B7A` MUST allow map {extensions} parameter when accepting application/json
+35. `60AA` SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
+36. `2163` SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
+37. `3E36` SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
+38. `17C5` SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
+39. `34D6` SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
+40. `865D` SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+41. `556A` SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+42. `D586` SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
+43. `51FE` SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+44. `74FF` SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+45. `5E5B` SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
## Warnings
The server _SHOULD_ support these, but is not required.
- 1. SHOULD accept application/graphql-response+json and match the content-type
+ 1. `22EB` SHOULD accept application/graphql-response+json and match the content-type
Response header content-type does not contain application/graphql-response+json
@@ -82,7 +82,7 @@ The server _SHOULD_ support these, but is not required.
```
- 2. SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
+ 2. `3715` SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
Response status code is not 200
@@ -110,7 +110,7 @@ The server _SHOULD_ support these, but is not required.
```
- 3. SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
+ 3. `9FE0` SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
Response status code is not 200
@@ -138,7 +138,7 @@ The server _SHOULD_ support these, but is not required.
```
- 4. SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
+ 4. `9FE1` SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
Response status code is not 200
@@ -166,7 +166,7 @@ The server _SHOULD_ support these, but is not required.
```
- 5. SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
+ 5. `9FE2` SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
Response status code is not 200
@@ -194,7 +194,7 @@ The server _SHOULD_ support these, but is not required.
```
- 6. SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
+ 6. `9FE3` SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
Response status code is not 200
@@ -222,7 +222,7 @@ The server _SHOULD_ support these, but is not required.
```
- 7. SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
+ 7. `E3E0` SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -248,7 +248,7 @@ The server _SHOULD_ support these, but is not required.
```
- 8. SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
+ 8. `E3E1` SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -274,7 +274,7 @@ The server _SHOULD_ support these, but is not required.
```
- 9. SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
+ 9. `E3E2` SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -300,7 +300,7 @@ The server _SHOULD_ support these, but is not required.
```
- 10. SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
+ 10. `E3E3` SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -326,7 +326,7 @@ The server _SHOULD_ support these, but is not required.
```
- 11. SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
+ 11. `FB90` SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -348,7 +348,7 @@ The server _SHOULD_ support these, but is not required.
```
- 12. SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
+ 12. `FB91` SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -370,7 +370,7 @@ The server _SHOULD_ support these, but is not required.
```
- 13. SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
+ 13. `FB92` SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -392,7 +392,7 @@ The server _SHOULD_ support these, but is not required.
```
- 14. SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
+ 14. `FB93` SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -414,7 +414,7 @@ The server _SHOULD_ support these, but is not required.
```
- 15. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
+ 15. `69B1` SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -440,7 +440,7 @@ The server _SHOULD_ support these, but is not required.
```
- 16. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
+ 16. `69B2` SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -466,7 +466,7 @@ The server _SHOULD_ support these, but is not required.
```
- 17. SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
+ 17. `69B3` SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -492,7 +492,7 @@ The server _SHOULD_ support these, but is not required.
```
- 18. SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
+ 18. `F050` SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
Response status code is not 200
@@ -520,7 +520,7 @@ The server _SHOULD_ support these, but is not required.
```
- 19. SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
+ 19. `F051` SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -542,7 +542,7 @@ The server _SHOULD_ support these, but is not required.
```
- 20. SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
+ 20. `F052` SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -564,7 +564,7 @@ The server _SHOULD_ support these, but is not required.
```
- 21. SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
+ 21. `F053` SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -586,7 +586,7 @@ The server _SHOULD_ support these, but is not required.
```
- 22. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
+ 22. `9040` SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -612,7 +612,7 @@ The server _SHOULD_ support these, but is not required.
```
- 23. SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
+ 23. `9041` SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -638,7 +638,7 @@ The server _SHOULD_ support these, but is not required.
```
- 24. SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
+ 24. `9042` SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -664,7 +664,7 @@ The server _SHOULD_ support these, but is not required.
```
- 25. SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
+ 25. `9043` SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -690,7 +690,7 @@ The server _SHOULD_ support these, but is not required.
```
- 26. SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
+ 26. `3680` SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -712,7 +712,7 @@ The server _SHOULD_ support these, but is not required.
```
- 27. SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
+ 27. `3681` SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -734,7 +734,7 @@ The server _SHOULD_ support these, but is not required.
```
- 28. SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
+ 28. `3682` SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -756,7 +756,7 @@ The server _SHOULD_ support these, but is not required.
```
- 29. SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
+ 29. `3683` SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -778,7 +778,7 @@ The server _SHOULD_ support these, but is not required.
```
- 30. SHOULD use 200 status code on JSON parsing failure when accepting application/json
+ 30. `D477` SHOULD use 200 status code on JSON parsing failure when accepting application/json
Response status code is not 200
@@ -806,7 +806,7 @@ The server _SHOULD_ support these, but is not required.
```
- 31. SHOULD use 200 status code if parameters are invalid when accepting application/json
+ 31. `F5AF` SHOULD use 200 status code if parameters are invalid when accepting application/json
Response status code is not 200
@@ -834,7 +834,7 @@ The server _SHOULD_ support these, but is not required.
```
- 32. SHOULD use 200 status code on document parsing failure when accepting application/json
+ 32. `572B` SHOULD use 200 status code on document parsing failure when accepting application/json
Response status code is not 200
@@ -868,7 +868,7 @@ The server _SHOULD_ support these, but is not required.
```
- 33. SHOULD use 200 status code on document validation failure when accepting application/json
+ 33. `FDE2` SHOULD use 200 status code on document validation failure when accepting application/json
Response status code is not 200
diff --git a/implementations/graph-client/README.md b/implementations/graph-client/README.md
index bc6f604c..a1c8df42 100644
--- a/implementations/graph-client/README.md
+++ b/implementations/graph-client/README.md
@@ -6,82 +6,82 @@ _* This report was auto-generated by graphql-http_
- ✅ **78** pass
## Passing
-1. SHOULD accept application/graphql-response+json and match the content-type
-2. MUST accept application/json and match the content-type
-3. SHOULD accept \*/\* and use application/json for the content-type
-4. SHOULD assume application/json content-type when accept is missing
-5. MUST use utf-8 encoding when responding
-6. MUST accept utf-8 encoded request
-7. MUST assume utf-8 in request if encoding is unspecified
-8. MUST accept POST requests
-9. MAY accept application/x-www-form-urlencoded formatted GET requests
-10. MAY NOT allow executing mutations on GET requests
-11. SHOULD respond with 4xx status code if content-type is not supplied on POST requests
-12. MUST accept application/json POST requests
-13. MUST require a request body on POST
-14. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
-15. SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
-16. SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
-17. SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
-18. SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
-19. SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
-20. SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
-21. SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
-22. SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
-23. SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
-24. SHOULD allow string {query} parameter when accepting application/graphql-response+json
-25. MUST allow string {query} parameter when accepting application/json
-26. SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
-27. SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
-28. SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
-29. SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
-30. SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
-31. SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
-32. SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
-33. SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
-34. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
-35. MUST allow string {operationName} parameter when accepting application/json
-36. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
-37. MUST allow null {variables} parameter when accepting application/json
-38. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
-39. MUST allow null {operationName} parameter when accepting application/json
-40. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
-41. MUST allow null {extensions} parameter when accepting application/json
-42. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
-43. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
-44. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
-45. SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
-46. SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
-47. SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
-48. SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
-49. SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
-50. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
-51. MUST allow map {variables} parameter when accepting application/json
-52. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
-53. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
-54. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
-55. SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
-56. SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
-57. SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
-58. SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
-59. SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
-60. SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
-61. SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
-62. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
-63. MUST allow map {extensions} parameter when accepting application/json
-64. SHOULD use 200 status code on JSON parsing failure when accepting application/json
-65. SHOULD use 200 status code if parameters are invalid when accepting application/json
-66. SHOULD use 200 status code on document parsing failure when accepting application/json
-67. SHOULD use 200 status code on document validation failure when accepting application/json
-68. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
-69. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
-70. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
-71. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
-72. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
-73. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
-74. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
-75. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
-76. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
-77. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
-78. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
+1. `22EB` SHOULD accept application/graphql-response+json and match the content-type
+2. `4655` MUST accept application/json and match the content-type
+3. `47DE` SHOULD accept \*/\* and use application/json for the content-type
+4. `80D8` SHOULD assume application/json content-type when accept is missing
+5. `82A3` MUST use utf-8 encoding when responding
+6. `BF61` MUST accept utf-8 encoded request
+7. `78D5` MUST assume utf-8 in request if encoding is unspecified
+8. `2C94` MUST accept POST requests
+9. `5A70` MAY accept application/x-www-form-urlencoded formatted GET requests
+10. `9C48` MAY NOT allow executing mutations on GET requests
+11. `9ABE` SHOULD respond with 4xx status code if content-type is not supplied on POST requests
+12. `03D4` MUST accept application/json POST requests
+13. `7267` MUST require a request body on POST
+14. `6610` SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
+15. `3715` SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
+16. `4F50` SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
+17. `4F51` SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
+18. `4F52` SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
+19. `4F53` SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
+20. `9FE0` SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
+21. `9FE1` SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
+22. `9FE2` SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
+23. `9FE3` SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
+24. `34A2` SHOULD allow string {query} parameter when accepting application/graphql-response+json
+25. `13EE` MUST allow string {query} parameter when accepting application/json
+26. `E3E0` SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
+27. `E3E1` SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
+28. `E3E2` SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
+29. `E3E3` SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
+30. `FB90` SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
+31. `FB91` SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
+32. `FB92` SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
+33. `FB93` SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
+34. `8161` SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
+35. `B8B3` MUST allow string {operationName} parameter when accepting application/json
+36. `94B0` SHOULD allow null {variables} parameter when accepting application/graphql-response+json
+37. `0220` MUST allow null {variables} parameter when accepting application/json
+38. `94B1` SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
+39. `0221` MUST allow null {operationName} parameter when accepting application/json
+40. `94B2` SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
+41. `0222` MUST allow null {extensions} parameter when accepting application/json
+42. `69B0` SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
+43. `69B1` SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
+44. `69B2` SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
+45. `69B3` SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
+46. `F050` SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
+47. `F051` SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
+48. `F052` SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
+49. `F053` SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
+50. `2EA1` SHOULD allow map {variables} parameter when accepting application/graphql-response+json
+51. `28B9` MUST allow map {variables} parameter when accepting application/json
+52. `D6D5` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
+53. `6A70` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
+54. `9040` SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
+55. `9041` SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
+56. `9042` SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
+57. `9043` SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
+58. `3680` SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
+59. `3681` SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
+60. `3682` SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
+61. `3683` SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
+62. `428F` SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
+63. `1B7A` MUST allow map {extensions} parameter when accepting application/json
+64. `D477` SHOULD use 200 status code on JSON parsing failure when accepting application/json
+65. `F5AF` SHOULD use 200 status code if parameters are invalid when accepting application/json
+66. `572B` SHOULD use 200 status code on document parsing failure when accepting application/json
+67. `FDE2` SHOULD use 200 status code on document validation failure when accepting application/json
+68. `60AA` SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
+69. `2163` SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
+70. `3E36` SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
+71. `17C5` SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
+72. `34D6` SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
+73. `865D` SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+74. `556A` SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+75. `D586` SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
+76. `51FE` SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+77. `74FF` SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+78. `5E5B` SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
diff --git a/implementations/graphql-helix/README.md b/implementations/graphql-helix/README.md
index 0f76de75..f71435ba 100644
--- a/implementations/graphql-helix/README.md
+++ b/implementations/graphql-helix/README.md
@@ -7,60 +7,60 @@ _* This report was auto-generated by graphql-http_
- ⚠️ **29** warnings (optional)
## Passing
-1. MUST accept application/json and match the content-type
-2. SHOULD accept \*/\* and use application/json for the content-type
-3. SHOULD assume application/json content-type when accept is missing
-4. MUST use utf-8 encoding when responding
-5. MUST accept utf-8 encoded request
-6. MUST assume utf-8 in request if encoding is unspecified
-7. MUST accept POST requests
-8. MAY accept application/x-www-form-urlencoded formatted GET requests
-9. MAY NOT allow executing mutations on GET requests
-10. SHOULD respond with 4xx status code if content-type is not supplied on POST requests
-11. MUST accept application/json POST requests
-12. MUST require a request body on POST
-13. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
-14. SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
-15. SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
-16. SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
-17. SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
-18. SHOULD allow string {query} parameter when accepting application/graphql-response+json
-19. MUST allow string {query} parameter when accepting application/json
-20. SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
-21. SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
-22. SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
-23. SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
-24. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
-25. MUST allow string {operationName} parameter when accepting application/json
-26. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
-27. MUST allow null {variables} parameter when accepting application/json
-28. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
-29. MUST allow null {operationName} parameter when accepting application/json
-30. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
-31. MUST allow null {extensions} parameter when accepting application/json
-32. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
-33. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
-34. MUST allow map {variables} parameter when accepting application/json
-35. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
-36. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
-37. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
-38. MUST allow map {extensions} parameter when accepting application/json
-39. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
-40. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
-41. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
-42. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
-43. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
-44. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
-45. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
-46. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
-47. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
-48. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
-49. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
+1. `4655` MUST accept application/json and match the content-type
+2. `47DE` SHOULD accept \*/\* and use application/json for the content-type
+3. `80D8` SHOULD assume application/json content-type when accept is missing
+4. `82A3` MUST use utf-8 encoding when responding
+5. `BF61` MUST accept utf-8 encoded request
+6. `78D5` MUST assume utf-8 in request if encoding is unspecified
+7. `2C94` MUST accept POST requests
+8. `5A70` MAY accept application/x-www-form-urlencoded formatted GET requests
+9. `9C48` MAY NOT allow executing mutations on GET requests
+10. `9ABE` SHOULD respond with 4xx status code if content-type is not supplied on POST requests
+11. `03D4` MUST accept application/json POST requests
+12. `7267` MUST require a request body on POST
+13. `6610` SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
+14. `4F50` SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
+15. `4F51` SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
+16. `4F52` SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
+17. `4F53` SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
+18. `34A2` SHOULD allow string {query} parameter when accepting application/graphql-response+json
+19. `13EE` MUST allow string {query} parameter when accepting application/json
+20. `E3E0` SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
+21. `E3E1` SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
+22. `E3E2` SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
+23. `E3E3` SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
+24. `8161` SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
+25. `B8B3` MUST allow string {operationName} parameter when accepting application/json
+26. `94B0` SHOULD allow null {variables} parameter when accepting application/graphql-response+json
+27. `0220` MUST allow null {variables} parameter when accepting application/json
+28. `94B1` SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
+29. `0221` MUST allow null {operationName} parameter when accepting application/json
+30. `94B2` SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
+31. `0222` MUST allow null {extensions} parameter when accepting application/json
+32. `69B0` SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
+33. `2EA1` SHOULD allow map {variables} parameter when accepting application/graphql-response+json
+34. `28B9` MUST allow map {variables} parameter when accepting application/json
+35. `D6D5` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
+36. `6A70` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
+37. `428F` SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
+38. `1B7A` MUST allow map {extensions} parameter when accepting application/json
+39. `60AA` SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
+40. `2163` SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
+41. `3E36` SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
+42. `17C5` SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
+43. `34D6` SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
+44. `865D` SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+45. `556A` SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+46. `D586` SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
+47. `51FE` SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+48. `74FF` SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+49. `5E5B` SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
## Warnings
The server _SHOULD_ support these, but is not required.
- 1. SHOULD accept application/graphql-response+json and match the content-type
+ 1. `22EB` SHOULD accept application/graphql-response+json and match the content-type
Response header content-type does not contain application/graphql-response+json
@@ -85,7 +85,7 @@ The server _SHOULD_ support these, but is not required.
```
- 2. SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
+ 2. `3715` SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
Response status code is not 200
@@ -112,7 +112,7 @@ The server _SHOULD_ support these, but is not required.
```
- 3. SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
+ 3. `9FE0` SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
Response status code is not 200
@@ -137,7 +137,7 @@ The server _SHOULD_ support these, but is not required.
```
- 4. SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
+ 4. `9FE1` SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
Response status code is not 200
@@ -162,7 +162,7 @@ The server _SHOULD_ support these, but is not required.
```
- 5. SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
+ 5. `9FE2` SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
Response status code is not 200
@@ -187,7 +187,7 @@ The server _SHOULD_ support these, but is not required.
```
- 6. SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
+ 6. `9FE3` SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
Response status code is not 200
@@ -212,7 +212,7 @@ The server _SHOULD_ support these, but is not required.
```
- 7. SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
+ 7. `FB90` SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
Response status code is not 200
@@ -239,7 +239,7 @@ The server _SHOULD_ support these, but is not required.
```
- 8. SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
+ 8. `FB91` SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
Response status code is not 200
@@ -266,7 +266,7 @@ The server _SHOULD_ support these, but is not required.
```
- 9. SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
+ 9. `FB92` SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
Response status code is not 200
@@ -293,7 +293,7 @@ The server _SHOULD_ support these, but is not required.
```
- 10. SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
+ 10. `FB93` SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
Response status code is not 200
@@ -320,7 +320,7 @@ The server _SHOULD_ support these, but is not required.
```
- 11. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
+ 11. `69B1` SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -345,7 +345,7 @@ The server _SHOULD_ support these, but is not required.
```
- 12. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
+ 12. `69B2` SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -370,7 +370,7 @@ The server _SHOULD_ support these, but is not required.
```
- 13. SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
+ 13. `69B3` SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -395,7 +395,7 @@ The server _SHOULD_ support these, but is not required.
```
- 14. SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
+ 14. `F050` SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
Response status code is not 200
@@ -422,7 +422,7 @@ The server _SHOULD_ support these, but is not required.
```
- 15. SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
+ 15. `F051` SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -443,7 +443,7 @@ The server _SHOULD_ support these, but is not required.
```
- 16. SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
+ 16. `F052` SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -464,7 +464,7 @@ The server _SHOULD_ support these, but is not required.
```
- 17. SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
+ 17. `F053` SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -485,7 +485,7 @@ The server _SHOULD_ support these, but is not required.
```
- 18. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
+ 18. `9040` SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -510,7 +510,7 @@ The server _SHOULD_ support these, but is not required.
```
- 19. SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
+ 19. `9041` SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -535,7 +535,7 @@ The server _SHOULD_ support these, but is not required.
```
- 20. SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
+ 20. `9042` SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -560,7 +560,7 @@ The server _SHOULD_ support these, but is not required.
```
- 21. SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
+ 21. `9043` SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -585,7 +585,7 @@ The server _SHOULD_ support these, but is not required.
```
- 22. SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
+ 22. `3680` SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -606,7 +606,7 @@ The server _SHOULD_ support these, but is not required.
```
- 23. SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
+ 23. `3681` SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -627,7 +627,7 @@ The server _SHOULD_ support these, but is not required.
```
- 24. SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
+ 24. `3682` SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -648,7 +648,7 @@ The server _SHOULD_ support these, but is not required.
```
- 25. SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
+ 25. `3683` SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -669,7 +669,7 @@ The server _SHOULD_ support these, but is not required.
```
- 26. SHOULD use 200 status code on JSON parsing failure when accepting application/json
+ 26. `D477` SHOULD use 200 status code on JSON parsing failure when accepting application/json
Response status code is not 200
@@ -692,7 +692,7 @@ The server _SHOULD_ support these, but is not required.
```
- 27. SHOULD use 200 status code if parameters are invalid when accepting application/json
+ 27. `F5AF` SHOULD use 200 status code if parameters are invalid when accepting application/json
Response status code is not 200
@@ -719,7 +719,7 @@ The server _SHOULD_ support these, but is not required.
```
- 28. SHOULD use 200 status code on document parsing failure when accepting application/json
+ 28. `572B` SHOULD use 200 status code on document parsing failure when accepting application/json
Response status code is not 200
@@ -752,7 +752,7 @@ The server _SHOULD_ support these, but is not required.
```
- 29. SHOULD use 200 status code on document validation failure when accepting application/json
+ 29. `FDE2` SHOULD use 200 status code on document validation failure when accepting application/json
Response status code is not 200
diff --git a/implementations/graphql-yoga/README.md b/implementations/graphql-yoga/README.md
index bc6f604c..a1c8df42 100644
--- a/implementations/graphql-yoga/README.md
+++ b/implementations/graphql-yoga/README.md
@@ -6,82 +6,82 @@ _* This report was auto-generated by graphql-http_
- ✅ **78** pass
## Passing
-1. SHOULD accept application/graphql-response+json and match the content-type
-2. MUST accept application/json and match the content-type
-3. SHOULD accept \*/\* and use application/json for the content-type
-4. SHOULD assume application/json content-type when accept is missing
-5. MUST use utf-8 encoding when responding
-6. MUST accept utf-8 encoded request
-7. MUST assume utf-8 in request if encoding is unspecified
-8. MUST accept POST requests
-9. MAY accept application/x-www-form-urlencoded formatted GET requests
-10. MAY NOT allow executing mutations on GET requests
-11. SHOULD respond with 4xx status code if content-type is not supplied on POST requests
-12. MUST accept application/json POST requests
-13. MUST require a request body on POST
-14. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
-15. SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
-16. SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
-17. SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
-18. SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
-19. SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
-20. SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
-21. SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
-22. SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
-23. SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
-24. SHOULD allow string {query} parameter when accepting application/graphql-response+json
-25. MUST allow string {query} parameter when accepting application/json
-26. SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
-27. SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
-28. SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
-29. SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
-30. SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
-31. SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
-32. SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
-33. SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
-34. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
-35. MUST allow string {operationName} parameter when accepting application/json
-36. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
-37. MUST allow null {variables} parameter when accepting application/json
-38. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
-39. MUST allow null {operationName} parameter when accepting application/json
-40. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
-41. MUST allow null {extensions} parameter when accepting application/json
-42. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
-43. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
-44. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
-45. SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
-46. SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
-47. SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
-48. SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
-49. SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
-50. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
-51. MUST allow map {variables} parameter when accepting application/json
-52. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
-53. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
-54. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
-55. SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
-56. SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
-57. SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
-58. SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
-59. SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
-60. SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
-61. SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
-62. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
-63. MUST allow map {extensions} parameter when accepting application/json
-64. SHOULD use 200 status code on JSON parsing failure when accepting application/json
-65. SHOULD use 200 status code if parameters are invalid when accepting application/json
-66. SHOULD use 200 status code on document parsing failure when accepting application/json
-67. SHOULD use 200 status code on document validation failure when accepting application/json
-68. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
-69. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
-70. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
-71. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
-72. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
-73. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
-74. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
-75. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
-76. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
-77. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
-78. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
+1. `22EB` SHOULD accept application/graphql-response+json and match the content-type
+2. `4655` MUST accept application/json and match the content-type
+3. `47DE` SHOULD accept \*/\* and use application/json for the content-type
+4. `80D8` SHOULD assume application/json content-type when accept is missing
+5. `82A3` MUST use utf-8 encoding when responding
+6. `BF61` MUST accept utf-8 encoded request
+7. `78D5` MUST assume utf-8 in request if encoding is unspecified
+8. `2C94` MUST accept POST requests
+9. `5A70` MAY accept application/x-www-form-urlencoded formatted GET requests
+10. `9C48` MAY NOT allow executing mutations on GET requests
+11. `9ABE` SHOULD respond with 4xx status code if content-type is not supplied on POST requests
+12. `03D4` MUST accept application/json POST requests
+13. `7267` MUST require a request body on POST
+14. `6610` SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
+15. `3715` SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
+16. `4F50` SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
+17. `4F51` SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
+18. `4F52` SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
+19. `4F53` SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
+20. `9FE0` SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
+21. `9FE1` SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
+22. `9FE2` SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
+23. `9FE3` SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
+24. `34A2` SHOULD allow string {query} parameter when accepting application/graphql-response+json
+25. `13EE` MUST allow string {query} parameter when accepting application/json
+26. `E3E0` SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
+27. `E3E1` SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
+28. `E3E2` SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
+29. `E3E3` SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
+30. `FB90` SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
+31. `FB91` SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
+32. `FB92` SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
+33. `FB93` SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
+34. `8161` SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
+35. `B8B3` MUST allow string {operationName} parameter when accepting application/json
+36. `94B0` SHOULD allow null {variables} parameter when accepting application/graphql-response+json
+37. `0220` MUST allow null {variables} parameter when accepting application/json
+38. `94B1` SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
+39. `0221` MUST allow null {operationName} parameter when accepting application/json
+40. `94B2` SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
+41. `0222` MUST allow null {extensions} parameter when accepting application/json
+42. `69B0` SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
+43. `69B1` SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
+44. `69B2` SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
+45. `69B3` SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
+46. `F050` SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
+47. `F051` SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
+48. `F052` SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
+49. `F053` SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
+50. `2EA1` SHOULD allow map {variables} parameter when accepting application/graphql-response+json
+51. `28B9` MUST allow map {variables} parameter when accepting application/json
+52. `D6D5` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
+53. `6A70` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
+54. `9040` SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
+55. `9041` SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
+56. `9042` SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
+57. `9043` SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
+58. `3680` SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
+59. `3681` SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
+60. `3682` SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
+61. `3683` SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
+62. `428F` SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
+63. `1B7A` MUST allow map {extensions} parameter when accepting application/json
+64. `D477` SHOULD use 200 status code on JSON parsing failure when accepting application/json
+65. `F5AF` SHOULD use 200 status code if parameters are invalid when accepting application/json
+66. `572B` SHOULD use 200 status code on document parsing failure when accepting application/json
+67. `FDE2` SHOULD use 200 status code on document validation failure when accepting application/json
+68. `60AA` SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
+69. `2163` SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
+70. `3E36` SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
+71. `17C5` SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
+72. `34D6` SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
+73. `865D` SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+74. `556A` SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+75. `D586` SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
+76. `51FE` SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+77. `74FF` SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+78. `5E5B` SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
diff --git a/implementations/hotchocolate/README.md b/implementations/hotchocolate/README.md
index 6b3b3a3e..76e1b5e9 100644
--- a/implementations/hotchocolate/README.md
+++ b/implementations/hotchocolate/README.md
@@ -7,87 +7,87 @@ _* This report was auto-generated by graphql-http_
- ⚠️ **2** warnings (optional)
## Passing
-1. SHOULD accept application/graphql-response+json and match the content-type
-2. MUST accept application/json and match the content-type
-3. MUST use utf-8 encoding when responding
-4. MUST accept utf-8 encoded request
-5. MUST assume utf-8 in request if encoding is unspecified
-6. MUST accept POST requests
-7. MAY accept application/x-www-form-urlencoded formatted GET requests
-8. MAY NOT allow executing mutations on GET requests
-9. SHOULD respond with 4xx status code if content-type is not supplied on POST requests
-10. MUST accept application/json POST requests
-11. MUST require a request body on POST
-12. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
-13. SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
-14. SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
-15. SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
-16. SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
-17. SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
-18. SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
-19. SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
-20. SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
-21. SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
-22. SHOULD allow string {query} parameter when accepting application/graphql-response+json
-23. MUST allow string {query} parameter when accepting application/json
-24. SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
-25. SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
-26. SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
-27. SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
-28. SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
-29. SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
-30. SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
-31. SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
-32. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
-33. MUST allow string {operationName} parameter when accepting application/json
-34. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
-35. MUST allow null {variables} parameter when accepting application/json
-36. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
-37. MUST allow null {operationName} parameter when accepting application/json
-38. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
-39. MUST allow null {extensions} parameter when accepting application/json
-40. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
-41. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
-42. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
-43. SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
-44. SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
-45. SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
-46. SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
-47. SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
-48. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
-49. MUST allow map {variables} parameter when accepting application/json
-50. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
-51. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
-52. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
-53. SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
-54. SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
-55. SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
-56. SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
-57. SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
-58. SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
-59. SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
-60. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
-61. MUST allow map {extensions} parameter when accepting application/json
-62. SHOULD use 200 status code on JSON parsing failure when accepting application/json
-63. SHOULD use 200 status code if parameters are invalid when accepting application/json
-64. SHOULD use 200 status code on document parsing failure when accepting application/json
-65. SHOULD use 200 status code on document validation failure when accepting application/json
-66. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
-67. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
-68. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
-69. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
-70. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
-71. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
-72. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
-73. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
-74. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
-75. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
-76. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
+1. `22EB` SHOULD accept application/graphql-response+json and match the content-type
+2. `4655` MUST accept application/json and match the content-type
+3. `82A3` MUST use utf-8 encoding when responding
+4. `BF61` MUST accept utf-8 encoded request
+5. `78D5` MUST assume utf-8 in request if encoding is unspecified
+6. `2C94` MUST accept POST requests
+7. `5A70` MAY accept application/x-www-form-urlencoded formatted GET requests
+8. `9C48` MAY NOT allow executing mutations on GET requests
+9. `9ABE` SHOULD respond with 4xx status code if content-type is not supplied on POST requests
+10. `03D4` MUST accept application/json POST requests
+11. `7267` MUST require a request body on POST
+12. `6610` SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
+13. `3715` SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
+14. `4F50` SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
+15. `4F51` SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
+16. `4F52` SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
+17. `4F53` SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
+18. `9FE0` SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
+19. `9FE1` SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
+20. `9FE2` SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
+21. `9FE3` SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
+22. `34A2` SHOULD allow string {query} parameter when accepting application/graphql-response+json
+23. `13EE` MUST allow string {query} parameter when accepting application/json
+24. `E3E0` SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
+25. `E3E1` SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
+26. `E3E2` SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
+27. `E3E3` SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
+28. `FB90` SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
+29. `FB91` SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
+30. `FB92` SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
+31. `FB93` SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
+32. `8161` SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
+33. `B8B3` MUST allow string {operationName} parameter when accepting application/json
+34. `94B0` SHOULD allow null {variables} parameter when accepting application/graphql-response+json
+35. `0220` MUST allow null {variables} parameter when accepting application/json
+36. `94B1` SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
+37. `0221` MUST allow null {operationName} parameter when accepting application/json
+38. `94B2` SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
+39. `0222` MUST allow null {extensions} parameter when accepting application/json
+40. `69B0` SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
+41. `69B1` SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
+42. `69B2` SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
+43. `69B3` SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
+44. `F050` SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
+45. `F051` SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
+46. `F052` SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
+47. `F053` SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
+48. `2EA1` SHOULD allow map {variables} parameter when accepting application/graphql-response+json
+49. `28B9` MUST allow map {variables} parameter when accepting application/json
+50. `D6D5` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
+51. `6A70` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
+52. `9040` SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
+53. `9041` SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
+54. `9042` SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
+55. `9043` SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
+56. `3680` SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
+57. `3681` SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
+58. `3682` SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
+59. `3683` SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
+60. `428F` SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
+61. `1B7A` MUST allow map {extensions} parameter when accepting application/json
+62. `D477` SHOULD use 200 status code on JSON parsing failure when accepting application/json
+63. `F5AF` SHOULD use 200 status code if parameters are invalid when accepting application/json
+64. `572B` SHOULD use 200 status code on document parsing failure when accepting application/json
+65. `FDE2` SHOULD use 200 status code on document validation failure when accepting application/json
+66. `60AA` SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
+67. `2163` SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
+68. `3E36` SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
+69. `17C5` SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
+70. `34D6` SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
+71. `865D` SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+72. `556A` SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+73. `D586` SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
+74. `51FE` SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+75. `74FF` SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+76. `5E5B` SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
## Warnings
The server _SHOULD_ support these, but is not required.
- 1. SHOULD accept \*/\* and use application/json for the content-type
+ 1. `47DE` SHOULD accept \*/\* and use application/json for the content-type
Response header content-type does not contain application/json
@@ -112,7 +112,7 @@ The server _SHOULD_ support these, but is not required.
```
- 2. SHOULD assume application/json content-type when accept is missing
+ 2. `80D8` SHOULD assume application/json content-type when accept is missing
Response header content-type does not contain application/json
diff --git a/implementations/mercurius/README.md b/implementations/mercurius/README.md
index d742c41d..d2c68f42 100644
--- a/implementations/mercurius/README.md
+++ b/implementations/mercurius/README.md
@@ -8,60 +8,60 @@ _* This report was auto-generated by graphql-http_
- ❌ **1** errors (required)
## Passing
-1. MUST accept application/json and match the content-type
-2. SHOULD accept \*/\* and use application/json for the content-type
-3. SHOULD assume application/json content-type when accept is missing
-4. MUST use utf-8 encoding when responding
-5. MUST accept utf-8 encoded request
-6. MUST assume utf-8 in request if encoding is unspecified
-7. MUST accept POST requests
-8. MAY accept application/x-www-form-urlencoded formatted GET requests
-9. MAY NOT allow executing mutations on GET requests
-10. SHOULD respond with 4xx status code if content-type is not supplied on POST requests
-11. MUST accept application/json POST requests
-12. MUST require a request body on POST
-13. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
-14. SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
-15. SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
-16. SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
-17. SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
-18. SHOULD allow string {query} parameter when accepting application/graphql-response+json
-19. MUST allow string {query} parameter when accepting application/json
-20. SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
-21. SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
-22. SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
-23. SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
-24. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
-25. MUST allow string {operationName} parameter when accepting application/json
-26. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
-27. MUST allow null {variables} parameter when accepting application/json
-28. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
-29. MUST allow null {operationName} parameter when accepting application/json
-30. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
-31. SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
-32. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
-33. MUST allow map {variables} parameter when accepting application/json
-34. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
-35. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
-36. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
-37. SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
-38. SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
-39. SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
-40. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
-41. MUST allow map {extensions} parameter when accepting application/json
-42. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
-43. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
-44. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
-45. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
-46. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
-47. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
-48. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
-49. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+1. `4655` MUST accept application/json and match the content-type
+2. `47DE` SHOULD accept \*/\* and use application/json for the content-type
+3. `80D8` SHOULD assume application/json content-type when accept is missing
+4. `82A3` MUST use utf-8 encoding when responding
+5. `BF61` MUST accept utf-8 encoded request
+6. `78D5` MUST assume utf-8 in request if encoding is unspecified
+7. `2C94` MUST accept POST requests
+8. `5A70` MAY accept application/x-www-form-urlencoded formatted GET requests
+9. `9C48` MAY NOT allow executing mutations on GET requests
+10. `9ABE` SHOULD respond with 4xx status code if content-type is not supplied on POST requests
+11. `03D4` MUST accept application/json POST requests
+12. `7267` MUST require a request body on POST
+13. `6610` SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
+14. `4F50` SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
+15. `4F53` SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
+16. `9FE1` SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
+17. `9FE2` SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
+18. `34A2` SHOULD allow string {query} parameter when accepting application/graphql-response+json
+19. `13EE` MUST allow string {query} parameter when accepting application/json
+20. `E3E0` SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
+21. `E3E3` SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
+22. `FB91` SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
+23. `FB92` SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
+24. `8161` SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
+25. `B8B3` MUST allow string {operationName} parameter when accepting application/json
+26. `94B0` SHOULD allow null {variables} parameter when accepting application/graphql-response+json
+27. `0220` MUST allow null {variables} parameter when accepting application/json
+28. `94B1` SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
+29. `0221` MUST allow null {operationName} parameter when accepting application/json
+30. `69B0` SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
+31. `69B3` SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
+32. `2EA1` SHOULD allow map {variables} parameter when accepting application/graphql-response+json
+33. `28B9` MUST allow map {variables} parameter when accepting application/json
+34. `D6D5` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
+35. `6A70` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
+36. `9040` SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
+37. `9041` SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
+38. `9042` SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
+39. `9043` SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
+40. `428F` SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
+41. `1B7A` MUST allow map {extensions} parameter when accepting application/json
+42. `60AA` SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
+43. `2163` SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
+44. `3E36` SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
+45. `17C5` SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
+46. `865D` SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+47. `556A` SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+48. `51FE` SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+49. `74FF` SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
## Warnings
The server _SHOULD_ support these, but is not required.
- 1. SHOULD accept application/graphql-response+json and match the content-type
+ 1. `22EB` SHOULD accept application/graphql-response+json and match the content-type
Response header content-type does not contain application/graphql-response+json
@@ -85,7 +85,7 @@ The server _SHOULD_ support these, but is not required.
```
- 2. SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
+ 2. `3715` SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
Response status code is not 200
@@ -112,7 +112,7 @@ The server _SHOULD_ support these, but is not required.
```
- 3. SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
+ 3. `4F51` SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -139,7 +139,7 @@ The server _SHOULD_ support these, but is not required.
```
- 4. SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
+ 4. `4F52` SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -166,7 +166,7 @@ The server _SHOULD_ support these, but is not required.
```
- 5. SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
+ 5. `9FE0` SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
Response status code is not 200
@@ -193,7 +193,7 @@ The server _SHOULD_ support these, but is not required.
```
- 6. SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
+ 6. `9FE3` SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
Response status code is not 200
@@ -226,7 +226,7 @@ The server _SHOULD_ support these, but is not required.
```
- 7. SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
+ 7. `E3E1` SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -253,7 +253,7 @@ The server _SHOULD_ support these, but is not required.
```
- 8. SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
+ 8. `E3E2` SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -280,7 +280,7 @@ The server _SHOULD_ support these, but is not required.
```
- 9. SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
+ 9. `FB90` SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
Response status code is not 200
@@ -307,7 +307,7 @@ The server _SHOULD_ support these, but is not required.
```
- 10. SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
+ 10. `FB93` SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
Response status code is not 200
@@ -334,7 +334,7 @@ The server _SHOULD_ support these, but is not required.
```
- 11. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
+ 11. `94B2` SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -361,7 +361,7 @@ The server _SHOULD_ support these, but is not required.
```
- 12. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
+ 12. `69B1` SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -385,7 +385,7 @@ The server _SHOULD_ support these, but is not required.
```
- 13. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
+ 13. `69B2` SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -409,7 +409,7 @@ The server _SHOULD_ support these, but is not required.
```
- 14. SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
+ 14. `F050` SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
Response status code is not 200
@@ -436,7 +436,7 @@ The server _SHOULD_ support these, but is not required.
```
- 15. SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
+ 15. `F051` SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -456,7 +456,7 @@ The server _SHOULD_ support these, but is not required.
```
- 16. SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
+ 16. `F052` SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -476,7 +476,7 @@ The server _SHOULD_ support these, but is not required.
```
- 17. SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
+ 17. `F053` SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
Response status code is not 200
@@ -503,7 +503,7 @@ The server _SHOULD_ support these, but is not required.
```
- 18. SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
+ 18. `3680` SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
Response status code is not 200
@@ -530,7 +530,7 @@ The server _SHOULD_ support these, but is not required.
```
- 19. SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
+ 19. `3681` SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
Response status code is not 200
@@ -557,7 +557,7 @@ The server _SHOULD_ support these, but is not required.
```
- 20. SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
+ 20. `3682` SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
Response status code is not 200
@@ -584,7 +584,7 @@ The server _SHOULD_ support these, but is not required.
```
- 21. SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
+ 21. `3683` SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
Response status code is not 200
@@ -611,7 +611,7 @@ The server _SHOULD_ support these, but is not required.
```
- 22. SHOULD use 200 status code on JSON parsing failure when accepting application/json
+ 22. `D477` SHOULD use 200 status code on JSON parsing failure when accepting application/json
Response status code is not 200
@@ -638,7 +638,7 @@ The server _SHOULD_ support these, but is not required.
```
- 23. SHOULD use 200 status code if parameters are invalid when accepting application/json
+ 23. `F5AF` SHOULD use 200 status code if parameters are invalid when accepting application/json
Response status code is not 200
@@ -665,7 +665,7 @@ The server _SHOULD_ support these, but is not required.
```
- 24. SHOULD use 200 status code on document parsing failure when accepting application/json
+ 24. `572B` SHOULD use 200 status code on document parsing failure when accepting application/json
Response status code is not 200
@@ -698,7 +698,7 @@ The server _SHOULD_ support these, but is not required.
```
- 25. SHOULD use 200 status code on document validation failure when accepting application/json
+ 25. `FDE2` SHOULD use 200 status code on document validation failure when accepting application/json
Response status code is not 200
@@ -731,7 +731,7 @@ The server _SHOULD_ support these, but is not required.
```
- 26. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
+ 26. `34D6` SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
Response body execution result data is not "undefined"
@@ -751,7 +751,7 @@ The server _SHOULD_ support these, but is not required.
```
- 27. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
+ 27. `D586` SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
Response body execution result data is not "undefined"
@@ -771,7 +771,7 @@ The server _SHOULD_ support these, but is not required.
```
- 28. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
+ 28. `5E5B` SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
Response body execution result data is not "undefined"
@@ -795,7 +795,7 @@ The server _SHOULD_ support these, but is not required.
## Errors
The server _MUST_ support these.
- 1. MUST allow null {extensions} parameter when accepting application/json
+ 1. `0222` MUST allow null {extensions} parameter when accepting application/json
Response status code is not 200
diff --git a/implementations/pioneer/README.md b/implementations/pioneer/README.md
index bb678159..b751945f 100644
--- a/implementations/pioneer/README.md
+++ b/implementations/pioneer/README.md
@@ -7,86 +7,86 @@ _* This report was auto-generated by graphql-http_
- ⚠️ **3** warnings (optional)
## Passing
-1. SHOULD accept application/graphql-response+json and match the content-type
-2. MUST accept application/json and match the content-type
-3. SHOULD accept \*/\* and use application/json for the content-type
-4. SHOULD assume application/json content-type when accept is missing
-5. MUST use utf-8 encoding when responding
-6. MUST accept utf-8 encoded request
-7. MUST assume utf-8 in request if encoding is unspecified
-8. MUST accept POST requests
-9. MAY accept application/x-www-form-urlencoded formatted GET requests
-10. MAY NOT allow executing mutations on GET requests
-11. SHOULD respond with 4xx status code if content-type is not supplied on POST requests
-12. MUST accept application/json POST requests
-13. MUST require a request body on POST
-14. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
-15. SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
-16. SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
-17. SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
-18. SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
-19. SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
-20. SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
-21. SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
-22. SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
-23. SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
-24. SHOULD allow string {query} parameter when accepting application/graphql-response+json
-25. MUST allow string {query} parameter when accepting application/json
-26. SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
-27. SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
-28. SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
-29. SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
-30. SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
-31. SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
-32. SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
-33. SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
-34. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
-35. MUST allow string {operationName} parameter when accepting application/json
-36. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
-37. MUST allow null {variables} parameter when accepting application/json
-38. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
-39. MUST allow null {operationName} parameter when accepting application/json
-40. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
-41. MUST allow null {extensions} parameter when accepting application/json
-42. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
-43. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
-44. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
-45. SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
-46. SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
-47. SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
-48. SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
-49. SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
-50. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
-51. MUST allow map {variables} parameter when accepting application/json
-52. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
-53. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
-54. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
-55. SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
-56. SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
-57. SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
-58. SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
-59. SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
-60. SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
-61. SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
-62. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
-63. MUST allow map {extensions} parameter when accepting application/json
-64. SHOULD use 200 status code if parameters are invalid when accepting application/json
-65. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
-66. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
-67. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
-68. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
-69. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
-70. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
-71. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
-72. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
-73. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
-74. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
-75. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
+1. `22EB` SHOULD accept application/graphql-response+json and match the content-type
+2. `4655` MUST accept application/json and match the content-type
+3. `47DE` SHOULD accept \*/\* and use application/json for the content-type
+4. `80D8` SHOULD assume application/json content-type when accept is missing
+5. `82A3` MUST use utf-8 encoding when responding
+6. `BF61` MUST accept utf-8 encoded request
+7. `78D5` MUST assume utf-8 in request if encoding is unspecified
+8. `2C94` MUST accept POST requests
+9. `5A70` MAY accept application/x-www-form-urlencoded formatted GET requests
+10. `9C48` MAY NOT allow executing mutations on GET requests
+11. `9ABE` SHOULD respond with 4xx status code if content-type is not supplied on POST requests
+12. `03D4` MUST accept application/json POST requests
+13. `7267` MUST require a request body on POST
+14. `6610` SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
+15. `3715` SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
+16. `4F50` SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
+17. `4F51` SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
+18. `4F52` SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
+19. `4F53` SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
+20. `9FE0` SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
+21. `9FE1` SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
+22. `9FE2` SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
+23. `9FE3` SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
+24. `34A2` SHOULD allow string {query} parameter when accepting application/graphql-response+json
+25. `13EE` MUST allow string {query} parameter when accepting application/json
+26. `E3E0` SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
+27. `E3E1` SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
+28. `E3E2` SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
+29. `E3E3` SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
+30. `FB90` SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
+31. `FB91` SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
+32. `FB92` SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
+33. `FB93` SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
+34. `8161` SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
+35. `B8B3` MUST allow string {operationName} parameter when accepting application/json
+36. `94B0` SHOULD allow null {variables} parameter when accepting application/graphql-response+json
+37. `0220` MUST allow null {variables} parameter when accepting application/json
+38. `94B1` SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
+39. `0221` MUST allow null {operationName} parameter when accepting application/json
+40. `94B2` SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
+41. `0222` MUST allow null {extensions} parameter when accepting application/json
+42. `69B0` SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
+43. `69B1` SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
+44. `69B2` SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
+45. `69B3` SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
+46. `F050` SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
+47. `F051` SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
+48. `F052` SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
+49. `F053` SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
+50. `2EA1` SHOULD allow map {variables} parameter when accepting application/graphql-response+json
+51. `28B9` MUST allow map {variables} parameter when accepting application/json
+52. `D6D5` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
+53. `6A70` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
+54. `9040` SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
+55. `9041` SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
+56. `9042` SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
+57. `9043` SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
+58. `3680` SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
+59. `3681` SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
+60. `3682` SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
+61. `3683` SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
+62. `428F` SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
+63. `1B7A` MUST allow map {extensions} parameter when accepting application/json
+64. `F5AF` SHOULD use 200 status code if parameters are invalid when accepting application/json
+65. `60AA` SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
+66. `2163` SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
+67. `3E36` SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
+68. `17C5` SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
+69. `34D6` SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
+70. `865D` SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+71. `556A` SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+72. `D586` SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
+73. `51FE` SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+74. `74FF` SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+75. `5E5B` SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
## Warnings
The server _SHOULD_ support these, but is not required.
- 1. SHOULD use 200 status code on JSON parsing failure when accepting application/json
+ 1. `D477` SHOULD use 200 status code on JSON parsing failure when accepting application/json
Response status code is not 200
@@ -113,7 +113,7 @@ The server _SHOULD_ support these, but is not required.
```
- 2. SHOULD use 200 status code on document parsing failure when accepting application/json
+ 2. `572B` SHOULD use 200 status code on document parsing failure when accepting application/json
Response status code is not 200
@@ -140,7 +140,7 @@ The server _SHOULD_ support these, but is not required.
```
- 3. SHOULD use 200 status code on document validation failure when accepting application/json
+ 3. `FDE2` SHOULD use 200 status code on document validation failure when accepting application/json
Response status code is not 200
diff --git a/implementations/postgraphile/README.md b/implementations/postgraphile/README.md
index f2a8ec60..267c6813 100644
--- a/implementations/postgraphile/README.md
+++ b/implementations/postgraphile/README.md
@@ -7,56 +7,56 @@ _* This report was auto-generated by graphql-http_
- ⚠️ **33** warnings (optional)
## Passing
-1. MUST accept application/json and match the content-type
-2. SHOULD accept \*/\* and use application/json for the content-type
-3. MUST use utf-8 encoding when responding
-4. MUST accept utf-8 encoded request
-5. MUST assume utf-8 in request if encoding is unspecified
-6. MUST accept POST requests
-7. MAY NOT allow executing mutations on GET requests
-8. SHOULD respond with 4xx status code if content-type is not supplied on POST requests
-9. MUST accept application/json POST requests
-10. MUST require a request body on POST
-11. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
-12. SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
-13. SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
-14. SHOULD allow string {query} parameter when accepting application/graphql-response+json
-15. MUST allow string {query} parameter when accepting application/json
-16. SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
-17. SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
-18. SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
-19. SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
-20. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
-21. MUST allow string {operationName} parameter when accepting application/json
-22. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
-23. MUST allow null {variables} parameter when accepting application/json
-24. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
-25. MUST allow null {operationName} parameter when accepting application/json
-26. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
-27. MUST allow null {extensions} parameter when accepting application/json
-28. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
-29. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
-30. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
-31. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
-32. MUST allow map {variables} parameter when accepting application/json
-33. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
-34. MUST allow map {extensions} parameter when accepting application/json
-35. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
-36. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
-37. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
-38. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
-39. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
-40. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
-41. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
-42. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
-43. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
-44. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
-45. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
+1. `4655` MUST accept application/json and match the content-type
+2. `47DE` SHOULD accept \*/\* and use application/json for the content-type
+3. `82A3` MUST use utf-8 encoding when responding
+4. `BF61` MUST accept utf-8 encoded request
+5. `78D5` MUST assume utf-8 in request if encoding is unspecified
+6. `2C94` MUST accept POST requests
+7. `9C48` MAY NOT allow executing mutations on GET requests
+8. `9ABE` SHOULD respond with 4xx status code if content-type is not supplied on POST requests
+9. `03D4` MUST accept application/json POST requests
+10. `7267` MUST require a request body on POST
+11. `6610` SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
+12. `4F51` SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
+13. `4F52` SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
+14. `34A2` SHOULD allow string {query} parameter when accepting application/graphql-response+json
+15. `13EE` MUST allow string {query} parameter when accepting application/json
+16. `E3E0` SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
+17. `E3E1` SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
+18. `E3E2` SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
+19. `E3E3` SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
+20. `8161` SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
+21. `B8B3` MUST allow string {operationName} parameter when accepting application/json
+22. `94B0` SHOULD allow null {variables} parameter when accepting application/graphql-response+json
+23. `0220` MUST allow null {variables} parameter when accepting application/json
+24. `94B1` SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
+25. `0221` MUST allow null {operationName} parameter when accepting application/json
+26. `94B2` SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
+27. `0222` MUST allow null {extensions} parameter when accepting application/json
+28. `69B0` SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
+29. `69B1` SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
+30. `69B2` SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
+31. `2EA1` SHOULD allow map {variables} parameter when accepting application/graphql-response+json
+32. `28B9` MUST allow map {variables} parameter when accepting application/json
+33. `428F` SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
+34. `1B7A` MUST allow map {extensions} parameter when accepting application/json
+35. `60AA` SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
+36. `2163` SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
+37. `3E36` SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
+38. `17C5` SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
+39. `34D6` SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
+40. `865D` SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+41. `556A` SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+42. `D586` SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
+43. `51FE` SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+44. `74FF` SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+45. `5E5B` SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
## Warnings
The server _SHOULD_ support these, but is not required.
- 1. SHOULD accept application/graphql-response+json and match the content-type
+ 1. `22EB` SHOULD accept application/graphql-response+json and match the content-type
Response header content-type does not contain application/graphql-response+json
@@ -80,7 +80,7 @@ The server _SHOULD_ support these, but is not required.
```
- 2. SHOULD assume application/json content-type when accept is missing
+ 2. `80D8` SHOULD assume application/json content-type when accept is missing
Response status code is not 200
@@ -107,7 +107,7 @@ The server _SHOULD_ support these, but is not required.
```
- 3. MAY accept application/x-www-form-urlencoded formatted GET requests
+ 3. `5A70` MAY accept application/x-www-form-urlencoded formatted GET requests
Response status code is not 200
@@ -134,7 +134,7 @@ The server _SHOULD_ support these, but is not required.
```
- 4. SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
+ 4. `3715` SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
Response status code is not 200
@@ -160,7 +160,7 @@ The server _SHOULD_ support these, but is not required.
```
- 5. SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
+ 5. `4F50` SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -186,7 +186,7 @@ The server _SHOULD_ support these, but is not required.
```
- 6. SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
+ 6. `4F53` SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -212,7 +212,7 @@ The server _SHOULD_ support these, but is not required.
```
- 7. SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
+ 7. `9FE0` SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
Response status code is not 200
@@ -238,7 +238,7 @@ The server _SHOULD_ support these, but is not required.
```
- 8. SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
+ 8. `9FE1` SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
Response status code is not 200
@@ -264,7 +264,7 @@ The server _SHOULD_ support these, but is not required.
```
- 9. SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
+ 9. `9FE2` SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
Response status code is not 200
@@ -290,7 +290,7 @@ The server _SHOULD_ support these, but is not required.
```
- 10. SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
+ 10. `9FE3` SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
Response status code is not 200
@@ -316,7 +316,7 @@ The server _SHOULD_ support these, but is not required.
```
- 11. SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
+ 11. `FB90` SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
Response status code is not 200
@@ -342,7 +342,7 @@ The server _SHOULD_ support these, but is not required.
```
- 12. SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
+ 12. `FB91` SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
Response status code is not 200
@@ -368,7 +368,7 @@ The server _SHOULD_ support these, but is not required.
```
- 13. SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
+ 13. `FB92` SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
Response status code is not 200
@@ -394,7 +394,7 @@ The server _SHOULD_ support these, but is not required.
```
- 14. SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
+ 14. `FB93` SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
Response status code is not 200
@@ -420,7 +420,7 @@ The server _SHOULD_ support these, but is not required.
```
- 15. SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
+ 15. `69B3` SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -444,7 +444,7 @@ The server _SHOULD_ support these, but is not required.
```
- 16. SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
+ 16. `F050` SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
Response status code is not 200
@@ -470,7 +470,7 @@ The server _SHOULD_ support these, but is not required.
```
- 17. SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
+ 17. `F051` SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
Response status code is not 200
@@ -496,7 +496,7 @@ The server _SHOULD_ support these, but is not required.
```
- 18. SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
+ 18. `F052` SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
Response status code is not 200
@@ -522,7 +522,7 @@ The server _SHOULD_ support these, but is not required.
```
- 19. SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
+ 19. `F053` SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -542,7 +542,7 @@ The server _SHOULD_ support these, but is not required.
```
- 20. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
+ 20. `D6D5` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
Response status code is not 200
@@ -569,7 +569,7 @@ The server _SHOULD_ support these, but is not required.
```
- 21. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
+ 21. `6A70` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
Response status code is not 200
@@ -596,7 +596,7 @@ The server _SHOULD_ support these, but is not required.
```
- 22. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
+ 22. `9040` SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -620,7 +620,7 @@ The server _SHOULD_ support these, but is not required.
```
- 23. SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
+ 23. `9041` SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -644,7 +644,7 @@ The server _SHOULD_ support these, but is not required.
```
- 24. SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
+ 24. `9042` SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -668,7 +668,7 @@ The server _SHOULD_ support these, but is not required.
```
- 25. SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
+ 25. `9043` SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -692,7 +692,7 @@ The server _SHOULD_ support these, but is not required.
```
- 26. SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
+ 26. `3680` SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -712,7 +712,7 @@ The server _SHOULD_ support these, but is not required.
```
- 27. SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
+ 27. `3681` SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -732,7 +732,7 @@ The server _SHOULD_ support these, but is not required.
```
- 28. SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
+ 28. `3682` SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -752,7 +752,7 @@ The server _SHOULD_ support these, but is not required.
```
- 29. SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
+ 29. `3683` SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
Response body execution result does not have a property "errors"
@@ -772,7 +772,7 @@ The server _SHOULD_ support these, but is not required.
```
- 30. SHOULD use 200 status code on JSON parsing failure when accepting application/json
+ 30. `D477` SHOULD use 200 status code on JSON parsing failure when accepting application/json
Response status code is not 200
@@ -798,7 +798,7 @@ The server _SHOULD_ support these, but is not required.
```
- 31. SHOULD use 200 status code if parameters are invalid when accepting application/json
+ 31. `F5AF` SHOULD use 200 status code if parameters are invalid when accepting application/json
Response status code is not 200
@@ -824,7 +824,7 @@ The server _SHOULD_ support these, but is not required.
```
- 32. SHOULD use 200 status code on document parsing failure when accepting application/json
+ 32. `572B` SHOULD use 200 status code on document parsing failure when accepting application/json
Response status code is not 200
@@ -856,7 +856,7 @@ The server _SHOULD_ support these, but is not required.
```
- 33. SHOULD use 200 status code on document validation failure when accepting application/json
+ 33. `FDE2` SHOULD use 200 status code on document validation failure when accepting application/json
Response status code is not 200
diff --git a/implementations/thegraph/README.md b/implementations/thegraph/README.md
index d93db9fe..38d8495c 100644
--- a/implementations/thegraph/README.md
+++ b/implementations/thegraph/README.md
@@ -8,18 +8,18 @@ _* This report was auto-generated by graphql-http_
- ❌ **14** errors (required)
## Passing
-1. MAY accept application/x-www-form-urlencoded formatted GET requests
-2. SHOULD respond with 4xx status code if content-type is not supplied on POST requests
-3. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
-4. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
-5. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
-6. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
-7. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+1. `5A70` MAY accept application/x-www-form-urlencoded formatted GET requests
+2. `9ABE` SHOULD respond with 4xx status code if content-type is not supplied on POST requests
+3. `D6D5` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
+4. `60AA` SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
+5. `3E36` SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
+6. `865D` SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+7. `51FE` SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
## Warnings
The server _SHOULD_ support these, but is not required.
- 1. SHOULD accept application/graphql-response+json and match the content-type
+ 1. `22EB` SHOULD accept application/graphql-response+json and match the content-type
Response status code is not 200
@@ -46,7 +46,7 @@ The server _SHOULD_ support these, but is not required.
```
- 2. SHOULD accept \*/\* and use application/json for the content-type
+ 2. `47DE` SHOULD accept \*/\* and use application/json for the content-type
Response status code is not 200
@@ -73,7 +73,7 @@ The server _SHOULD_ support these, but is not required.
```
- 3. SHOULD assume application/json content-type when accept is missing
+ 3. `80D8` SHOULD assume application/json content-type when accept is missing
Response header content-type does not contain application/json
@@ -101,7 +101,7 @@ The server _SHOULD_ support these, but is not required.
```
- 4. MAY NOT allow executing mutations on GET requests
+ 4. `9C48` MAY NOT allow executing mutations on GET requests
Response status is not between 400 and 499
@@ -129,7 +129,7 @@ The server _SHOULD_ support these, but is not required.
```
- 5. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
+ 5. `6610` SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -156,7 +156,7 @@ The server _SHOULD_ support these, but is not required.
```
- 6. SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
+ 6. `3715` SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json
Response status code is not 200
@@ -183,7 +183,7 @@ The server _SHOULD_ support these, but is not required.
```
- 7. SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
+ 7. `4F50` SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -210,7 +210,7 @@ The server _SHOULD_ support these, but is not required.
```
- 8. SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
+ 8. `4F51` SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -237,7 +237,7 @@ The server _SHOULD_ support these, but is not required.
```
- 9. SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
+ 9. `4F52` SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -264,7 +264,7 @@ The server _SHOULD_ support these, but is not required.
```
- 10. SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
+ 10. `4F53` SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -291,7 +291,7 @@ The server _SHOULD_ support these, but is not required.
```
- 11. SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
+ 11. `9FE0` SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json
Response status code is not 200
@@ -318,7 +318,7 @@ The server _SHOULD_ support these, but is not required.
```
- 12. SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
+ 12. `9FE1` SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json
Response status code is not 200
@@ -345,7 +345,7 @@ The server _SHOULD_ support these, but is not required.
```
- 13. SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
+ 13. `9FE2` SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json
Response status code is not 200
@@ -372,7 +372,7 @@ The server _SHOULD_ support these, but is not required.
```
- 14. SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
+ 14. `9FE3` SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json
Response status code is not 200
@@ -399,7 +399,7 @@ The server _SHOULD_ support these, but is not required.
```
- 15. SHOULD allow string {query} parameter when accepting application/graphql-response+json
+ 15. `34A2` SHOULD allow string {query} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -426,7 +426,7 @@ The server _SHOULD_ support these, but is not required.
```
- 16. SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
+ 16. `E3E0` SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -453,7 +453,7 @@ The server _SHOULD_ support these, but is not required.
```
- 17. SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
+ 17. `E3E1` SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -480,7 +480,7 @@ The server _SHOULD_ support these, but is not required.
```
- 18. SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
+ 18. `E3E2` SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -507,7 +507,7 @@ The server _SHOULD_ support these, but is not required.
```
- 19. SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
+ 19. `E3E3` SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -534,7 +534,7 @@ The server _SHOULD_ support these, but is not required.
```
- 20. SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
+ 20. `FB90` SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json
Response status code is not 200
@@ -561,7 +561,7 @@ The server _SHOULD_ support these, but is not required.
```
- 21. SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
+ 21. `FB91` SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json
Response status code is not 200
@@ -588,7 +588,7 @@ The server _SHOULD_ support these, but is not required.
```
- 22. SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
+ 22. `FB92` SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json
Response status code is not 200
@@ -615,7 +615,7 @@ The server _SHOULD_ support these, but is not required.
```
- 23. SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
+ 23. `FB93` SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
Response status code is not 200
@@ -642,7 +642,7 @@ The server _SHOULD_ support these, but is not required.
```
- 24. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
+ 24. `8161` SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -669,7 +669,7 @@ The server _SHOULD_ support these, but is not required.
```
- 25. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
+ 25. `94B0` SHOULD allow null {variables} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -696,7 +696,7 @@ The server _SHOULD_ support these, but is not required.
```
- 26. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
+ 26. `94B1` SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -723,7 +723,7 @@ The server _SHOULD_ support these, but is not required.
```
- 27. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
+ 27. `94B2` SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -750,7 +750,7 @@ The server _SHOULD_ support these, but is not required.
```
- 28. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
+ 28. `69B0` SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -777,7 +777,7 @@ The server _SHOULD_ support these, but is not required.
```
- 29. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
+ 29. `69B1` SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -804,7 +804,7 @@ The server _SHOULD_ support these, but is not required.
```
- 30. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
+ 30. `69B2` SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -831,7 +831,7 @@ The server _SHOULD_ support these, but is not required.
```
- 31. SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
+ 31. `69B3` SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -858,7 +858,7 @@ The server _SHOULD_ support these, but is not required.
```
- 32. SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
+ 32. `F050` SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
Response status code is not 200
@@ -885,7 +885,7 @@ The server _SHOULD_ support these, but is not required.
```
- 33. SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
+ 33. `F051` SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
Response status code is not 200
@@ -912,7 +912,7 @@ The server _SHOULD_ support these, but is not required.
```
- 34. SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
+ 34. `F052` SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
Response status code is not 200
@@ -939,7 +939,7 @@ The server _SHOULD_ support these, but is not required.
```
- 35. SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
+ 35. `F053` SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
Response status code is not 200
@@ -966,7 +966,7 @@ The server _SHOULD_ support these, but is not required.
```
- 36. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
+ 36. `2EA1` SHOULD allow map {variables} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -993,7 +993,7 @@ The server _SHOULD_ support these, but is not required.
```
- 37. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
+ 37. `6A70` MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
Response body is not valid JSON
@@ -1021,7 +1021,7 @@ The server _SHOULD_ support these, but is not required.
```
- 38. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
+ 38. `9040` SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -1048,7 +1048,7 @@ The server _SHOULD_ support these, but is not required.
```
- 39. SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
+ 39. `9041` SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -1075,7 +1075,7 @@ The server _SHOULD_ support these, but is not required.
```
- 40. SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
+ 40. `9042` SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -1102,7 +1102,7 @@ The server _SHOULD_ support these, but is not required.
```
- 41. SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
+ 41. `9043` SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
Response status code is not 400
@@ -1129,7 +1129,7 @@ The server _SHOULD_ support these, but is not required.
```
- 42. SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
+ 42. `3680` SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
Response status code is not 200
@@ -1156,7 +1156,7 @@ The server _SHOULD_ support these, but is not required.
```
- 43. SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
+ 43. `3681` SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
Response status code is not 200
@@ -1183,7 +1183,7 @@ The server _SHOULD_ support these, but is not required.
```
- 44. SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
+ 44. `3682` SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
Response status code is not 200
@@ -1210,7 +1210,7 @@ The server _SHOULD_ support these, but is not required.
```
- 45. SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
+ 45. `3683` SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
Response status code is not 200
@@ -1237,7 +1237,7 @@ The server _SHOULD_ support these, but is not required.
```
- 46. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
+ 46. `428F` SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
Response status code is not 200
@@ -1264,7 +1264,7 @@ The server _SHOULD_ support these, but is not required.
```
- 47. SHOULD use 200 status code on JSON parsing failure when accepting application/json
+ 47. `D477` SHOULD use 200 status code on JSON parsing failure when accepting application/json
Response status code is not 200
@@ -1291,7 +1291,7 @@ The server _SHOULD_ support these, but is not required.
```
- 48. SHOULD use 200 status code if parameters are invalid when accepting application/json
+ 48. `F5AF` SHOULD use 200 status code if parameters are invalid when accepting application/json
Response status code is not 200
@@ -1318,7 +1318,7 @@ The server _SHOULD_ support these, but is not required.
```
- 49. SHOULD use 200 status code on document parsing failure when accepting application/json
+ 49. `572B` SHOULD use 200 status code on document parsing failure when accepting application/json
Response status code is not 200
@@ -1345,7 +1345,7 @@ The server _SHOULD_ support these, but is not required.
```
- 50. SHOULD use 200 status code on document validation failure when accepting application/json
+ 50. `FDE2` SHOULD use 200 status code on document validation failure when accepting application/json
Response status code is not 200
@@ -1372,7 +1372,7 @@ The server _SHOULD_ support these, but is not required.
```
- 51. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
+ 51. `2163` SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
Response status code is not 400
@@ -1399,7 +1399,7 @@ The server _SHOULD_ support these, but is not required.
```
- 52. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
+ 52. `17C5` SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
Response status code is not 400
@@ -1426,7 +1426,7 @@ The server _SHOULD_ support these, but is not required.
```
- 53. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
+ 53. `34D6` SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
Response body is not valid JSON
@@ -1453,7 +1453,7 @@ The server _SHOULD_ support these, but is not required.
```
- 54. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+ 54. `556A` SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
Response status code is not 400
@@ -1480,7 +1480,7 @@ The server _SHOULD_ support these, but is not required.
```
- 55. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
+ 55. `D586` SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
Response body is not valid JSON
@@ -1507,7 +1507,7 @@ The server _SHOULD_ support these, but is not required.
```
- 56. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+ 56. `74FF` SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
Response status code is not 400
@@ -1534,7 +1534,7 @@ The server _SHOULD_ support these, but is not required.
```
- 57. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
+ 57. `5E5B` SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
Response body is not valid JSON
@@ -1565,7 +1565,7 @@ The server _SHOULD_ support these, but is not required.
## Errors
The server _MUST_ support these.
- 1. MUST accept application/json and match the content-type
+ 1. `4655` MUST accept application/json and match the content-type
Response status code is not 200
@@ -1592,7 +1592,7 @@ The server _MUST_ support these.
```
- 2. MUST use utf-8 encoding when responding
+ 2. `82A3` MUST use utf-8 encoding when responding
Response status code is not 200
@@ -1619,7 +1619,7 @@ The server _MUST_ support these.
```
- 3. MUST accept utf-8 encoded request
+ 3. `BF61` MUST accept utf-8 encoded request
Response status code is not 200
@@ -1646,7 +1646,7 @@ The server _MUST_ support these.
```
- 4. MUST assume utf-8 in request if encoding is unspecified
+ 4. `78D5` MUST assume utf-8 in request if encoding is unspecified
Response status code is not 200
@@ -1673,7 +1673,7 @@ The server _MUST_ support these.
```
- 5. MUST accept POST requests
+ 5. `2C94` MUST accept POST requests
Response status code is not 200
@@ -1700,7 +1700,7 @@ The server _MUST_ support these.
```
- 6. MUST accept application/json POST requests
+ 6. `03D4` MUST accept application/json POST requests
Response status code is not 200
@@ -1727,7 +1727,7 @@ The server _MUST_ support these.
```
- 7. MUST require a request body on POST
+ 7. `7267` MUST require a request body on POST
Response status code is not 400
@@ -1754,7 +1754,7 @@ The server _MUST_ support these.
```
- 8. MUST allow string {query} parameter when accepting application/json
+ 8. `13EE` MUST allow string {query} parameter when accepting application/json
Response status code is not 200
@@ -1781,7 +1781,7 @@ The server _MUST_ support these.
```
- 9. MUST allow string {operationName} parameter when accepting application/json
+ 9. `B8B3` MUST allow string {operationName} parameter when accepting application/json
Response status code is not 200
@@ -1808,7 +1808,7 @@ The server _MUST_ support these.
```
- 10. MUST allow null {variables} parameter when accepting application/json
+ 10. `0220` MUST allow null {variables} parameter when accepting application/json
Response status code is not 200
@@ -1835,7 +1835,7 @@ The server _MUST_ support these.
```
- 11. MUST allow null {operationName} parameter when accepting application/json
+ 11. `0221` MUST allow null {operationName} parameter when accepting application/json
Response status code is not 200
@@ -1862,7 +1862,7 @@ The server _MUST_ support these.
```
- 12. MUST allow null {extensions} parameter when accepting application/json
+ 12. `0222` MUST allow null {extensions} parameter when accepting application/json
Response status code is not 200
@@ -1889,7 +1889,7 @@ The server _MUST_ support these.
```
- 13. MUST allow map {variables} parameter when accepting application/json
+ 13. `28B9` MUST allow map {variables} parameter when accepting application/json
Response status code is not 200
@@ -1916,7 +1916,7 @@ The server _MUST_ support these.
```
- 14. MUST allow map {extensions} parameter when accepting application/json
+ 14. `1B7A` MUST allow map {extensions} parameter when accepting application/json
Response status code is not 200
diff --git a/scripts/audit-implementation.mjs b/scripts/audit-implementation.mjs
index 0d088264..25712355 100644
--- a/scripts/audit-implementation.mjs
+++ b/scripts/audit-implementation.mjs
@@ -123,7 +123,7 @@ async function createReport(results) {
if (grouped.ok.length) {
report += `## Passing\n`;
for (const [i, result] of grouped.ok.entries()) {
- report += `${i + 1}. ${escapeMarkdown(result.name)}\n`;
+ report += `${i + 1}. \`${result.id}\` ${escapeMarkdown(result.name)}\n`;
}
report += '\n';
}
@@ -164,7 +164,9 @@ async function createReport(results) {
async function printAuditFail(result, i) {
let indent = ' ';
let report = '';
- report += indent + `${i + 1}. ${escapeMarkdown(result.name)}
\n\n`;
+ report +=
+ indent +
+ `${i + 1}. \`${result.id}\` ${escapeMarkdown(result.name)}
\n\n`;
indent += indent + ' '; // double the indent for details
report += indent + '\n';
report += indent + `${truncate(result.reason)}
\n`;
diff --git a/src/__tests__/__snapshots__/audits.ts.snap b/src/__tests__/__snapshots__/audits.ts.snap
new file mode 100644
index 00000000..c99a37ff
--- /dev/null
+++ b/src/__tests__/__snapshots__/audits.ts.snap
@@ -0,0 +1,318 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`should not change globally unique audit ids 1`] = `
+[
+ {
+ "id": "22EB",
+ "name": "SHOULD accept application/graphql-response+json and match the content-type",
+ },
+ {
+ "id": "4655",
+ "name": "MUST accept application/json and match the content-type",
+ },
+ {
+ "id": "47DE",
+ "name": "SHOULD accept */* and use application/json for the content-type",
+ },
+ {
+ "id": "80D8",
+ "name": "SHOULD assume application/json content-type when accept is missing",
+ },
+ {
+ "id": "82A3",
+ "name": "MUST use utf-8 encoding when responding",
+ },
+ {
+ "id": "BF61",
+ "name": "MUST accept utf-8 encoded request",
+ },
+ {
+ "id": "78D5",
+ "name": "MUST assume utf-8 in request if encoding is unspecified",
+ },
+ {
+ "id": "2C94",
+ "name": "MUST accept POST requests",
+ },
+ {
+ "id": "5A70",
+ "name": "MAY accept application/x-www-form-urlencoded formatted GET requests",
+ },
+ {
+ "id": "9C48",
+ "name": "MAY NOT allow executing mutations on GET requests",
+ },
+ {
+ "id": "9ABE",
+ "name": "SHOULD respond with 4xx status code if content-type is not supplied on POST requests",
+ },
+ {
+ "id": "03D4",
+ "name": "MUST accept application/json POST requests",
+ },
+ {
+ "id": "7267",
+ "name": "MUST require a request body on POST",
+ },
+ {
+ "id": "6610",
+ "name": "SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "3715",
+ "name": "SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json",
+ },
+ {
+ "id": "4F50",
+ "name": "SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "4F51",
+ "name": "SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "4F52",
+ "name": "SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "4F53",
+ "name": "SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "9FE0",
+ "name": "SHOULD use 200 status code with errors field on object {query} parameter when accepting application/json",
+ },
+ {
+ "id": "9FE1",
+ "name": "SHOULD use 200 status code with errors field on number {query} parameter when accepting application/json",
+ },
+ {
+ "id": "9FE2",
+ "name": "SHOULD use 200 status code with errors field on boolean {query} parameter when accepting application/json",
+ },
+ {
+ "id": "9FE3",
+ "name": "SHOULD use 200 status code with errors field on array {query} parameter when accepting application/json",
+ },
+ {
+ "id": "34A2",
+ "name": "SHOULD allow string {query} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "13EE",
+ "name": "MUST allow string {query} parameter when accepting application/json",
+ },
+ {
+ "id": "E3E0",
+ "name": "SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "E3E1",
+ "name": "SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "E3E2",
+ "name": "SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "E3E3",
+ "name": "SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "FB90",
+ "name": "SHOULD use 200 status code with errors field on object {operationName} parameter when accepting application/json",
+ },
+ {
+ "id": "FB91",
+ "name": "SHOULD use 200 status code with errors field on number {operationName} parameter when accepting application/json",
+ },
+ {
+ "id": "FB92",
+ "name": "SHOULD use 200 status code with errors field on boolean {operationName} parameter when accepting application/json",
+ },
+ {
+ "id": "FB93",
+ "name": "SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json",
+ },
+ {
+ "id": "8161",
+ "name": "SHOULD allow string {operationName} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "B8B3",
+ "name": "MUST allow string {operationName} parameter when accepting application/json",
+ },
+ {
+ "id": "94B0",
+ "name": "SHOULD allow null {variables} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "0220",
+ "name": "MUST allow null {variables} parameter when accepting application/json",
+ },
+ {
+ "id": "94B1",
+ "name": "SHOULD allow null {operationName} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "0221",
+ "name": "MUST allow null {operationName} parameter when accepting application/json",
+ },
+ {
+ "id": "94B2",
+ "name": "SHOULD allow null {extensions} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "0222",
+ "name": "MUST allow null {extensions} parameter when accepting application/json",
+ },
+ {
+ "id": "69B0",
+ "name": "SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "69B1",
+ "name": "SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "69B2",
+ "name": "SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "69B3",
+ "name": "SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "F050",
+ "name": "SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json",
+ },
+ {
+ "id": "F051",
+ "name": "SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json",
+ },
+ {
+ "id": "F052",
+ "name": "SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json",
+ },
+ {
+ "id": "F053",
+ "name": "SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json",
+ },
+ {
+ "id": "2EA1",
+ "name": "SHOULD allow map {variables} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "28B9",
+ "name": "MUST allow map {variables} parameter when accepting application/json",
+ },
+ {
+ "id": "D6D5",
+ "name": "MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json",
+ },
+ {
+ "id": "6A70",
+ "name": "MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json",
+ },
+ {
+ "id": "9040",
+ "name": "SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "9041",
+ "name": "SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "9042",
+ "name": "SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "9043",
+ "name": "SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "3680",
+ "name": "SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json",
+ },
+ {
+ "id": "3681",
+ "name": "SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json",
+ },
+ {
+ "id": "3682",
+ "name": "SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json",
+ },
+ {
+ "id": "3683",
+ "name": "SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json",
+ },
+ {
+ "id": "428F",
+ "name": "SHOULD allow map {extensions} parameter when accepting application/graphql-response+json",
+ },
+ {
+ "id": "1B7A",
+ "name": "MUST allow map {extensions} parameter when accepting application/json",
+ },
+ {
+ "id": "D477",
+ "name": "SHOULD use 200 status code on JSON parsing failure when accepting application/json",
+ },
+ {
+ "id": "F5AF",
+ "name": "SHOULD use 200 status code if parameters are invalid when accepting application/json",
+ },
+ {
+ "id": "572B",
+ "name": "SHOULD use 200 status code on document parsing failure when accepting application/json",
+ },
+ {
+ "id": "FDE2",
+ "name": "SHOULD use 200 status code on document validation failure when accepting application/json",
+ },
+ {
+ "id": "60AA",
+ "name": "SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json",
+ },
+ {
+ "id": "2163",
+ "name": "SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json",
+ },
+ {
+ "id": "3E36",
+ "name": "SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json",
+ },
+ {
+ "id": "17C5",
+ "name": "SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json",
+ },
+ {
+ "id": "34D6",
+ "name": "SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json",
+ },
+ {
+ "id": "865D",
+ "name": "SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json",
+ },
+ {
+ "id": "556A",
+ "name": "SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json",
+ },
+ {
+ "id": "D586",
+ "name": "SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json",
+ },
+ {
+ "id": "51FE",
+ "name": "SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json",
+ },
+ {
+ "id": "74FF",
+ "name": "SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json",
+ },
+ {
+ "id": "5E5B",
+ "name": "SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json",
+ },
+]
+`;
diff --git a/src/__tests__/audits.ts b/src/__tests__/audits.ts
new file mode 100644
index 00000000..194f2cc4
--- /dev/null
+++ b/src/__tests__/audits.ts
@@ -0,0 +1,30 @@
+import { Audit, serverAudits } from '../audits';
+
+it('should have globally unique audit ids', () => {
+ const ids: string[] = [];
+
+ for (const audit of serverAudits({
+ url: 'http://localhost',
+ fetchFn: () => {
+ // noop
+ },
+ })) {
+ expect(ids).not.toContain(audit.id);
+ ids.push(audit.id);
+ }
+});
+
+it('should not change globally unique audit ids', () => {
+ const audits: Omit[] = [];
+
+ serverAudits({
+ url: 'http://localhost',
+ fetchFn: () => {
+ // noop
+ },
+ }).forEach(({ fn, ...audit }) => audits.push(audit));
+
+ // update snapshot if new audits are added or deleted,
+ // but existing ones SHOULD NOT CHANGE semantically
+ expect(audits).toMatchSnapshot();
+});
diff --git a/src/audits/common.ts b/src/audits/common.ts
index 7fa15e86..7cf01950 100644
--- a/src/audits/common.ts
+++ b/src/audits/common.ts
@@ -26,6 +26,11 @@ export type AuditName = `${AuditRequirement} ${string}`;
* @category Audits
*/
export interface Audit {
+ /**
+ * Uniquely represents the audit. Helps with pinning audits
+ * without depending on the human readable audit name.
+ */
+ id: string;
name: AuditName;
fn: () => Promise;
}
@@ -36,6 +41,11 @@ export interface Audit {
* @category Audits
*/
export interface AuditOk {
+ /**
+ * Uniquely represents the passing audit. Helps with pinning audits
+ * without depending on the human readable audit name.
+ */
+ id: string;
name: AuditName;
status: 'ok';
}
@@ -51,6 +61,11 @@ export interface AuditOk {
* @category Audits
*/
export interface AuditFail {
+ /**
+ * Uniquely represents the failing audit. Helps with pinning audits
+ * without depending on the human readable audit name.
+ */
+ id: string;
name: AuditName;
status: 'warn' | 'error';
reason: string;
diff --git a/src/audits/server.ts b/src/audits/server.ts
index 35658006..01d6a926 100644
--- a/src/audits/server.ts
+++ b/src/audits/server.ts
@@ -41,6 +41,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
// Media Types
audit(
// TODO: convert to MUST after watershed
+ '22EB',
'SHOULD accept application/graphql-response+json and match the content-type',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -58,6 +59,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '4655',
'MUST accept application/json and match the content-type',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -73,6 +75,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '47DE',
'SHOULD accept */* and use application/json for the content-type',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -88,6 +91,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '80D8',
'SHOULD assume application/json content-type when accept is missing',
async () => {
const url = new URL(await getUrl(opts.url));
@@ -98,7 +102,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
ressert(res).header('content-type').toContain('application/json');
},
),
- audit('MUST use utf-8 encoding when responding', async () => {
+ audit('82A3', 'MUST use utf-8 encoding when responding', async () => {
const res = await fetchFn(await getUrl(opts.url), {
method: 'POST',
headers: {
@@ -115,7 +119,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
throw new AuditError(res, 'Response body is not UTF-8 encoded');
}
}),
- audit('MUST accept utf-8 encoded request', async () => {
+ audit('BF61', 'MUST accept utf-8 encoded request', async () => {
const res = await fetchFn(await getUrl(opts.url), {
method: 'POST',
headers: {
@@ -127,6 +131,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
ressert(res).status.toBe(200);
}),
audit(
+ '78D5',
'MUST assume utf-8 in request if encoding is unspecified',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -141,7 +146,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
// Request
- audit('MUST accept POST requests', async () => {
+ audit('2C94', 'MUST accept POST requests', async () => {
const res = await fetchFn(await getUrl(opts.url), {
method: 'POST',
headers: { 'content-type': 'application/json' },
@@ -150,6 +155,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
ressert(res).status.toBe(200);
}),
audit(
+ '5A70',
'MAY accept application/x-www-form-urlencoded formatted GET requests',
async () => {
const url = new URL(await getUrl(opts.url));
@@ -161,19 +167,24 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
),
// Request GET
// TODO: this is a MUST if the server supports GET requests
- audit('MAY NOT allow executing mutations on GET requests', async () => {
- const url = new URL(await getUrl(opts.url));
- url.searchParams.set('query', 'mutation { __typename }');
+ audit(
+ '9C48',
+ 'MAY NOT allow executing mutations on GET requests',
+ async () => {
+ const url = new URL(await getUrl(opts.url));
+ url.searchParams.set('query', 'mutation { __typename }');
- const res = await fetchFn(url.toString(), {
- headers: {
- accept: 'application/graphql-response+json',
- },
- });
- ressert(res).status.toBeBetween(400, 499);
- }),
+ const res = await fetchFn(url.toString(), {
+ headers: {
+ accept: 'application/graphql-response+json',
+ },
+ });
+ ressert(res).status.toBeBetween(400, 499);
+ },
+ ),
// Request POST
audit(
+ '9ABE',
'SHOULD respond with 4xx status code if content-type is not supplied on POST requests',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -182,7 +193,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
ressert(res).status.toBeBetween(400, 499);
},
),
- audit('MUST accept application/json POST requests', async () => {
+ audit('03D4', 'MUST accept application/json POST requests', async () => {
const res = await fetchFn(await getUrl(opts.url), {
method: 'POST',
headers: { 'content-type': 'application/json' },
@@ -190,7 +201,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
});
ressert(res).status.toBe(200);
}),
- audit('MUST require a request body on POST', async () => {
+ audit('7267', 'MUST require a request body on POST', async () => {
const res = await fetchFn(await getUrl(opts.url), {
method: 'POST',
headers: { 'content-type': 'application/json' },
@@ -204,6 +215,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
// Request Parameters
audit(
// TODO: convert to MUST after watershed
+ '6610',
'SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -218,6 +230,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '3715',
'SHOULD use 200 status code with errors field on missing {query} parameter when accepting application/json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -232,8 +245,9 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
await ressert(res).bodyAsExecutionResult.toHaveProperty('errors');
},
),
- ...[{ obj: 'ect' }, 0, false, ['array']].map((invalid) =>
+ ...[{ obj: 'ect' }, 0, false, ['array']].map((invalid, index) =>
audit(
+ `4F5${index}`,
// TODO: convert to MUST after watershed
`SHOULD use 400 status code on ${extendedTypeof(
invalid,
@@ -253,8 +267,9 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
),
- ...[{ obj: 'ect' }, 0, false, ['array']].map((invalid) =>
+ ...[{ obj: 'ect' }, 0, false, ['array']].map((invalid, index) =>
audit(
+ `9FE${index}`,
`SHOULD use 200 status code with errors field on ${extendedTypeof(
invalid,
)} {query} parameter when accepting application/json`,
@@ -276,6 +291,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
),
audit(
// TODO: convert to MUST after watershed
+ '34A2',
'SHOULD allow string {query} parameter when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -292,6 +308,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '13EE',
'MUST allow string {query} parameter when accepting application/json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -308,8 +325,9 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
await ressert(res).bodyAsExecutionResult.notToHaveProperty('errors');
},
),
- ...[{ obj: 'ect' }, 0, false, ['array']].map((invalid) =>
+ ...[{ obj: 'ect' }, 0, false, ['array']].map((invalid, index) =>
audit(
+ `E3E${index}`,
// TODO: convert to MUST after watershed
`SHOULD use 400 status code on ${extendedTypeof(
invalid,
@@ -330,8 +348,9 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
),
- ...[{ obj: 'ect' }, 0, false, ['array']].map((invalid) =>
+ ...[{ obj: 'ect' }, 0, false, ['array']].map((invalid, index) =>
audit(
+ `FB9${index}`,
`SHOULD use 200 status code with errors field on ${extendedTypeof(
invalid,
)} {operationName} parameter when accepting application/json`,
@@ -354,6 +373,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
),
audit(
// TODO: convert to MUST after watershed
+ '8161',
'SHOULD allow string {operationName} parameter when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -371,6 +391,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ 'B8B3',
'MUST allow string {operationName} parameter when accepting application/json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -388,47 +409,56 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
await ressert(res).bodyAsExecutionResult.notToHaveProperty('errors');
},
),
- ...['variables', 'operationName', 'extensions'].flatMap((parameter) => [
- audit(
- // TODO: convert to MUST after watershed
- `SHOULD allow null {${parameter}} parameter when accepting application/graphql-response+json`,
- async () => {
- const res = await fetchFn(await getUrl(opts.url), {
- method: 'POST',
- headers: {
- 'content-type': 'application/json',
- accept: 'application/graphql-response+json',
- },
- body: JSON.stringify({
- query: '{ __typename }',
- [parameter]: null,
- }),
- });
- ressert(res).status.toBe(200);
- await ressert(res).bodyAsExecutionResult.notToHaveProperty('errors');
- },
- ),
- audit(
- `MUST allow null {${parameter}} parameter when accepting application/json`,
- async () => {
- const res = await fetchFn(await getUrl(opts.url), {
- method: 'POST',
- headers: {
- 'content-type': 'application/json',
- accept: 'application/json',
- },
- body: JSON.stringify({
- query: '{ __typename }',
- [parameter]: null,
- }),
- });
- ressert(res).status.toBe(200);
- await ressert(res).bodyAsExecutionResult.notToHaveProperty('errors');
- },
- ),
- ]),
- ...['string', 0, false, ['array']].map((invalid) =>
+ ...['variables', 'operationName', 'extensions'].flatMap(
+ (parameter, index) => [
+ audit(
+ `94B${index}`,
+ // TODO: convert to MUST after watershed
+ `SHOULD allow null {${parameter}} parameter when accepting application/graphql-response+json`,
+ async () => {
+ const res = await fetchFn(await getUrl(opts.url), {
+ method: 'POST',
+ headers: {
+ 'content-type': 'application/json',
+ accept: 'application/graphql-response+json',
+ },
+ body: JSON.stringify({
+ query: '{ __typename }',
+ [parameter]: null,
+ }),
+ });
+ ressert(res).status.toBe(200);
+ await ressert(res).bodyAsExecutionResult.notToHaveProperty(
+ 'errors',
+ );
+ },
+ ),
+ audit(
+ `022${index}`,
+ `MUST allow null {${parameter}} parameter when accepting application/json`,
+ async () => {
+ const res = await fetchFn(await getUrl(opts.url), {
+ method: 'POST',
+ headers: {
+ 'content-type': 'application/json',
+ accept: 'application/json',
+ },
+ body: JSON.stringify({
+ query: '{ __typename }',
+ [parameter]: null,
+ }),
+ });
+ ressert(res).status.toBe(200);
+ await ressert(res).bodyAsExecutionResult.notToHaveProperty(
+ 'errors',
+ );
+ },
+ ),
+ ],
+ ),
+ ...['string', 0, false, ['array']].map((invalid, index) =>
audit(
+ `69B${index}`,
// TODO: convert to MUST after watershed
`SHOULD use 400 status code on ${extendedTypeof(
invalid,
@@ -449,8 +479,9 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
),
- ...['string', 0, false, ['array']].map((invalid) =>
+ ...['string', 0, false, ['array']].map((invalid, index) =>
audit(
+ `F05${index}`,
`SHOULD use 200 status code with errors field on ${extendedTypeof(
invalid,
)} {variables} parameter when accepting application/json`,
@@ -473,6 +504,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
),
audit(
// TODO: convert to MUST after watershed
+ '2EA1',
'SHOULD allow map {variables} parameter when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -491,6 +523,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '28B9',
'MUST allow map {variables} parameter when accepting application/json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -510,6 +543,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ 'D6D5',
'MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json',
async () => {
const url = new URL(await getUrl(opts.url));
@@ -528,6 +562,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '6A70',
'MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json',
async () => {
const url = new URL(await getUrl(opts.url));
@@ -546,8 +581,9 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
await ressert(res).bodyAsExecutionResult.notToHaveProperty('errors');
},
),
- ...['string', 0, false, ['array']].map((invalid) =>
+ ...['string', 0, false, ['array']].map((invalid, index) =>
audit(
+ `904${index}`,
// TODO: convert to MUST after watershed
`SHOULD use 400 status code on ${extendedTypeof(
invalid,
@@ -568,8 +604,9 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
),
- ...['string', 0, false, ['array']].map((invalid) =>
+ ...['string', 0, false, ['array']].map((invalid, index) =>
audit(
+ `368${index}`,
`SHOULD use 200 status code with errors field on ${extendedTypeof(
invalid,
)} {extensions} parameter when accepting application/json`,
@@ -592,6 +629,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
),
audit(
// TODO: convert to MUST after watershed
+ '428F',
'SHOULD allow map {extensions} parameter when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -609,6 +647,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '1B7A',
'MUST allow map {extensions} parameter when accepting application/json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -626,9 +665,10 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
await ressert(res).bodyAsExecutionResult.notToHaveProperty('errors');
},
),
- // TODO: audit('MUST accept a map for the {extensions} parameter'),
+ // TODO: audit('39AA', 'MUST accept a map for the {extensions} parameter'),
// Response application/json
audit(
+ 'D477',
'SHOULD use 200 status code on JSON parsing failure when accepting application/json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -643,6 +683,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ 'F5AF',
'SHOULD use 200 status code if parameters are invalid when accepting application/json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -659,6 +700,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '572B',
'SHOULD use 200 status code on document parsing failure when accepting application/json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -673,6 +715,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ 'FDE2',
'SHOULD use 200 status code on document validation failure when accepting application/json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -691,6 +734,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
// Response application/graphql-response+json
audit(
// TODO: convert to MUST after watershed
+ '60AA',
'SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -705,6 +749,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '2163',
'SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -720,6 +765,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
),
audit(
// TODO: convert to MUST after watershed
+ '3E36',
'SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -736,6 +782,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '17C5',
'SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -752,6 +799,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '34D6',
'SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -769,6 +817,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
),
audit(
// TODO: convert to MUST after watershed
+ '865D',
'SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -785,6 +834,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '556A',
'SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -801,6 +851,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ 'D586',
'SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -818,6 +869,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
),
audit(
// TODO: convert to MUST after watershed
+ '51FE',
'SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -834,6 +886,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '74FF',
'SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -850,6 +903,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
audit(
+ '5E5B',
'SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json',
async () => {
const res = await fetchFn(await getUrl(opts.url), {
@@ -866,10 +920,10 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
},
),
// TODO: how to fail and have the data entry?
- // audit('MUST use 2xx status code if response contains the data entry and it is not null when accepting application/graphql-response+json'),
+ // audit('EE52', 'MUST use 2xx status code if response contains the data entry and it is not null when accepting application/graphql-response+json'),
// TODO: how to make an unauthorized request?
// https://graphql.github.io/graphql-over-http/draft/#sel-EANNNDTAAEVBAAqqc
- // audit('SHOULD use 401 or 403 status codes when the request is not permitted')
+ // audit('BC58', 'SHOULD use 401 or 403 status codes when the request is not permitted')
];
}
diff --git a/src/audits/utils.ts b/src/audits/utils.ts
index d5fe7406..d060d387 100644
--- a/src/audits/utils.ts
+++ b/src/audits/utils.ts
@@ -14,13 +14,19 @@ export * from '../utils';
*
* @private
*/
-export function audit(name: AuditName, fn: () => Promise): Audit {
+export function audit(
+ id: string,
+ name: AuditName,
+ fn: () => Promise,
+): Audit {
return {
+ id,
name,
fn: async () => {
try {
await fn();
return {
+ id,
name,
status: 'ok',
};
@@ -30,6 +36,7 @@ export function audit(name: AuditName, fn: () => Promise): Audit {
throw err;
}
return {
+ id,
name,
status: name.startsWith('MUST')
? // only failing MUSTs are considered errors