diff --git a/README.md b/README.md index 561e58e3..bbc37aef 100644 --- a/README.md +++ b/README.md @@ -890,14 +890,10 @@ Their compliance with the [GraphQL over HTTP spec](https://graphql.github.io/gra | Name | Audit | |------|-------| | [apollo-server](https://www.apollographql.com/docs/apollo-server) | [✅ Compliant](/implementations/apollo-server/README.md) | -| [deno](https://deno.com/blog/build-a-graphql-server-with-deno) | [✅ Compliant](/implementations/deno/README.md) | | [graph-client](https://github.com/graphprotocol/graph-client) | [✅ Compliant](/implementations/graph-client/README.md) | -| [graphql-helix](https://www.graphql-helix.com) | [✅ Compliant](/implementations/graphql-helix/README.md) | | [graphql-yoga](https://www.the-guild.dev/graphql/yoga-server) | [✅ Compliant](/implementations/graphql-yoga/README.md) | | [hotchocolate](https://chillicream.com/docs/hotchocolate) | [✅ Compliant](/implementations/hotchocolate/README.md) | -| [lighthouse](https://lighthouse-php.com) | [✅ Compliant](/implementations/lighthouse/README.md) | | [pioneer](https://pioneer.dexclaimation.com) | [✅ Compliant](/implementations/pioneer/README.md) | -| [postgraphile](https://www.graphile.org/postgraphile) | [✅ Compliant](/implementations/postgraphile/README.md) | diff --git a/implementations/apollo-server/README.md b/implementations/apollo-server/README.md index d267c757..902516cc 100644 --- a/implementations/apollo-server/README.md +++ b/implementations/apollo-server/README.md @@ -3,18 +3,18 @@
22EB SHOULD accept application/graphql-response+json and match the content-type22EB MUST accept application/graphql-response+json and match the content-type4655 MUST accept application/json and match the content-type47DE SHOULD accept */* and use application/json for the content-type80D8 SHOULD assume application/json content-type when accept is missing47DE SHOULD accept */* and use application/graphql-response+json or application/json for the content-type80D8 SHOULD assume application/json or application/graphql-response+json content-type when accept is missing82A3 MUST use utf-8 encoding when respondingBF61 MUST accept utf-8 encoded request78D5 MUST assume utf-8 in request if encoding is unspecifiedLKJ1 MAY use 400 status code on number {query} parameterLKJ2 MAY use 400 status code on boolean {query} parameterLKJ3 MAY use 400 status code on array {query} parameter34A2 SHOULD allow string {query} parameter when accepting application/graphql-response+json34A2 MUST allow string {query} parameter when accepting application/graphql-response+json13EE MUST allow string {query} parameter when accepting application/json6C00 MAY use 400 status code on object {operationName} parameter6C01 MAY use 400 status code on number {operationName} parameter6C02 MAY use 400 status code on boolean {operationName} parameter6C03 MAY use 400 status code on array {operationName} parameter8161 SHOULD allow string {operationName} parameter when accepting application/graphql-response+json8161 MUST allow string {operationName} parameter when accepting application/graphql-response+jsonB8B3 MUST allow string {operationName} parameter when accepting application/json94B0 SHOULD allow null {variables} parameter when accepting application/graphql-response+json94B0 MUST allow null {variables} parameter when accepting application/graphql-response+json0220 MUST allow null {variables} parameter when accepting application/json94B1 SHOULD allow null {operationName} parameter when accepting application/graphql-response+json94B1 MUST allow null {operationName} parameter when accepting application/graphql-response+json0221 MUST allow null {operationName} parameter when accepting application/json94B2 SHOULD allow null {extensions} parameter when accepting application/graphql-response+json94B2 MUST allow null {extensions} parameter when accepting application/graphql-response+json0222 MUST allow null {extensions} parameter when accepting application/json4760 MAY use 400 status code on string {variables} parameter4761 MAY use 400 status code on number {variables} parameter4762 MAY use 400 status code on boolean {variables} parameter4763 MAY use 400 status code on array {variables} parameter2EA1 SHOULD allow map {variables} parameter when accepting application/graphql-response+json2EA1 MUST allow map {variables} parameter when accepting application/graphql-response+json28B9 MUST allow map {variables} parameter when accepting application/json58B0 MAY use 400 status code on string {extensions} parameter58B1 MAY use 400 status code on number {extensions} parameter58B2 MAY use 400 status code on boolean {extensions} parameter58B3 MAY use 400 status code on array {extensions} parameter428F SHOULD allow map {extensions} parameter when accepting application/graphql-response+json0280 MUST use 4xx or 5xx status codes on string {extensions} parameter when accepting application/graphql-response+json0281 MUST use 4xx or 5xx status codes on number {extensions} parameter when accepting application/graphql-response+json0282 MUST use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/graphql-response+json0283 MUST use 4xx or 5xx status codes on array {extensions} parameter when accepting application/graphql-response+json2330 SHOULD use 4xx status code on string {extensions} parameter when accepting application/graphql-response+json2331 SHOULD use 4xx status code on number {extensions} parameter when accepting application/graphql-response+json2332 SHOULD use 4xx status code on boolean {extensions} parameter when accepting application/graphql-response+json2333 SHOULD use 4xx status code on array {extensions} parameter when accepting application/graphql-response+json58B0 SHOULD use 4xx or 5xx status codes on string {extensions} parameter when accepting application/json58B1 SHOULD use 4xx or 5xx status codes on number {extensions} parameter when accepting application/json58B2 SHOULD use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/json58B3 SHOULD use 4xx or 5xx status codes on array {extensions} parameter when accepting application/json428F MUST allow map {extensions} parameter when accepting application/graphql-response+json1B7A MUST allow map {extensions} parameter when accepting application/jsonB6DC MAY use 4xx or 5xx status codes on JSON parsing failureBCF8 MAY use 400 status code on JSON parsing failure8764 MAY use 4xx or 5xx status codes if parameters are invalid3E3A MAY use 400 status code if parameters are invalid865D SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json865D MUST use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+jsonD586 SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json51FE SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json51FE MUST use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json5E5B SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json4655 MUST accept application/json and match the content-type47DE SHOULD accept */* and use application/json for the content-type80D8 SHOULD assume application/json content-type when accept is missing47DE SHOULD accept */* and use application/graphql-response+json or application/json for the content-type80D8 SHOULD assume application/json or application/graphql-response+json content-type when accept is missing82A3 MUST use utf-8 encoding when respondingBF61 MUST accept utf-8 encoded request78D5 MUST assume utf-8 in request if encoding is unspecified4761 MAY use 400 status code on number {variables} parameter4762 MAY use 400 status code on boolean {variables} parameter28B9 MUST allow map {variables} parameter when accepting application/json0280 MUST use 4xx or 5xx status codes on string {extensions} parameter when accepting application/graphql-response+json0281 MUST use 4xx or 5xx status codes on number {extensions} parameter when accepting application/graphql-response+json0282 MUST use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/graphql-response+json0283 MUST use 4xx or 5xx status codes on array {extensions} parameter when accepting application/graphql-response+json2330 SHOULD use 4xx status code on string {extensions} parameter when accepting application/graphql-response+json2331 SHOULD use 4xx status code on number {extensions} parameter when accepting application/graphql-response+json2332 SHOULD use 4xx status code on boolean {extensions} parameter when accepting application/graphql-response+json2333 SHOULD use 4xx status code on array {extensions} parameter when accepting application/graphql-response+json1B7A MUST allow map {extensions} parameter when accepting application/jsonB6DC MAY use 4xx or 5xx status codes on JSON parsing failureBCF8 MAY use 400 status code on JSON parsing failure572B SHOULD use 200 status code on document parsing failure when accepting application/jsonFDE2 SHOULD use 200 status code on document validation failure when accepting application/json7B9B SHOULD use a status code of 200 on variable coercion failure when accepting application/json865D SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json51FE SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json865D MUST use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json51FE MUST use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json58B0 MAY use 400 status code on string {extensions} parameter
+8764 MAY use 4xx or 5xx status codes if parameters are invalid
{
"statusText": "OK",
"status": 200,
@@ -325,19 +334,19 @@ The server MAY support these, but are truly optional. These are suggestio
"vary": "Accept-Encoding",
"date": "",
"content-type": "application/json",
- "content-length": "59",
+ "content-length": "45",
"content-encoding": "gzip"
},
"body": {
- "data": {
- "__typename": "Query"
- }
+ "errors": [
+ {}
+ ]
}
}
58B1 MAY use 400 status code on number {extensions} parameter
+3E3A MAY use 400 status code if parameters are invalid
{
@@ -347,21 +356,26 @@ The server MAY support these, but are truly optional. These are suggestio
"vary": "Accept-Encoding",
"date": "",
"content-type": "application/json",
- "content-length": "59",
+ "content-length": "45",
"content-encoding": "gzip"
},
"body": {
- "data": {
- "__typename": "Query"
- }
+ "errors": [
+ {}
+ ]
}
}
58B2 MAY use 400 status code on boolean {extensions} parameter
+58B0 SHOULD use 4xx or 5xx status codes on string {extensions} parameter when accepting application/json
{
"statusText": "OK",
"status": 200,
@@ -381,9 +395,9 @@ The server MAY support these, but are truly optional. These are suggestio
58B3 MAY use 400 status code on array {extensions} parameter
+58B1 SHOULD use 4xx or 5xx status codes on number {extensions} parameter when accepting application/json
{
"statusText": "OK",
"status": 200,
@@ -403,7 +417,7 @@ The server MAY support these, but are truly optional. These are suggestio
8764 MAY use 4xx or 5xx status codes if parameters are invalid
+58B2 SHOULD use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/json
{
@@ -413,21 +427,21 @@ The server MAY support these, but are truly optional. These are suggestio
"vary": "Accept-Encoding",
"date": "",
"content-type": "application/json",
- "content-length": "45",
+ "content-length": "59",
"content-encoding": "gzip"
},
"body": {
- "errors": [
- {}
- ]
+ "data": {
+ "__typename": "Query"
+ }
}
}
3E3A MAY use 400 status code if parameters are invalid
+58B3 SHOULD use 4xx or 5xx status codes on array {extensions} parameter when accepting application/json
{
"statusText": "OK",
"status": 200,
@@ -435,26 +449,21 @@ The server MAY support these, but are truly optional. These are suggestio
"vary": "Accept-Encoding",
"date": "",
"content-type": "application/json",
- "content-length": "45",
+ "content-length": "59",
"content-encoding": "gzip"
},
"body": {
- "errors": [
- {}
- ]
+ "data": {
+ "__typename": "Query"
+ }
}
}
22EB SHOULD accept application/graphql-response+json and match the content-type
+556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
{
"statusText": "Not Acceptable",
"status": 406,
@@ -469,9 +478,9 @@ The server SHOULD support these, but is not required.
34A2 SHOULD allow string {query} parameter when accepting application/graphql-response+json
+D586 SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
{
"statusText": "Not Acceptable",
"status": 406,
@@ -481,14 +490,14 @@ The server SHOULD support these, but is not required.
"content-type": "text/plain;charset=UTF-8",
"content-length": "14"
},
- "body": "Not Acceptable"
+ "body": null
}
8161 SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
+74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
{
"statusText": "Not Acceptable",
"status": 406,
@@ -503,9 +512,9 @@ The server SHOULD support these, but is not required.
94B0 SHOULD allow null {variables} parameter when accepting application/graphql-response+json
+5E5B SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
{
"statusText": "Not Acceptable",
"status": 406,
@@ -515,14 +524,14 @@ The server SHOULD support these, but is not required.
"content-type": "text/plain;charset=UTF-8",
"content-length": "14"
},
- "body": "Not Acceptable"
+ "body": null
}
94B1 SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
+86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json
{
"statusText": "Not Acceptable",
"status": 406,
@@ -537,7 +546,12 @@ The server SHOULD support these, but is not required.
94B2 SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
+22EB MUST accept application/graphql-response+json and match the content-type
{
@@ -554,7 +568,7 @@ The server SHOULD support these, but is not required.
2EA1 SHOULD allow map {variables} parameter when accepting application/graphql-response+json
+34A2 MUST allow string {query} parameter when accepting application/graphql-response+json
{
@@ -571,7 +585,7 @@ The server SHOULD support these, but is not required.
428F SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
+8161 MUST allow string {operationName} parameter when accepting application/graphql-response+json
{
@@ -588,9 +602,9 @@ The server SHOULD support these, but is not required.
556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+94B0 MUST allow null {variables} parameter when accepting application/graphql-response+json
{
"statusText": "Not Acceptable",
"status": 406,
@@ -605,9 +619,9 @@ The server SHOULD support these, but is not required.
D586 SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
+94B1 MUST allow null {operationName} parameter when accepting application/graphql-response+json
{
"statusText": "Not Acceptable",
"status": 406,
@@ -617,14 +631,14 @@ The server SHOULD support these, but is not required.
"content-type": "text/plain;charset=UTF-8",
"content-length": "14"
},
- "body": null
+ "body": "Not Acceptable"
}
74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+94B2 MUST allow null {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "Not Acceptable",
"status": 406,
@@ -639,9 +653,9 @@ The server SHOULD support these, but is not required.
5E5B SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
+2EA1 MUST allow map {variables} parameter when accepting application/graphql-response+json
{
"statusText": "Not Acceptable",
"status": 406,
@@ -651,14 +665,14 @@ The server SHOULD support these, but is not required.
"content-type": "text/plain;charset=UTF-8",
"content-length": "14"
},
- "body": null
+ "body": "Not Acceptable"
}
86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json
+428F MUST allow map {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "Not Acceptable",
"status": 406,
@@ -674,4 +688,3 @@ The server SHOULD support these, but is not required.
4655 MUST accept application/json and match the content-type47DE SHOULD accept */* and use application/json for the content-type80D8 SHOULD assume application/json content-type when accept is missing47DE SHOULD accept */* and use application/graphql-response+json or application/json for the content-type80D8 SHOULD assume application/json or application/graphql-response+json content-type when accept is missing82A3 MUST use utf-8 encoding when respondingBF61 MUST accept utf-8 encoded request78D5 MUST assume utf-8 in request if encoding is unspecifiedLKJ1 MAY use 400 status code on number {query} parameterLKJ2 MAY use 400 status code on boolean {query} parameterLKJ3 MAY use 400 status code on array {query} parameter34A2 SHOULD allow string {query} parameter when accepting application/graphql-response+json34A2 MUST allow string {query} parameter when accepting application/graphql-response+json13EE MUST allow string {query} parameter when accepting application/json8161 SHOULD allow string {operationName} parameter when accepting application/graphql-response+json8161 MUST allow string {operationName} parameter when accepting application/graphql-response+jsonB8B3 MUST allow string {operationName} parameter when accepting application/json94B0 SHOULD allow null {variables} parameter when accepting application/graphql-response+json94B0 MUST allow null {variables} parameter when accepting application/graphql-response+json0220 MUST allow null {variables} parameter when accepting application/json94B1 SHOULD allow null {operationName} parameter when accepting application/graphql-response+json94B1 MUST allow null {operationName} parameter when accepting application/graphql-response+json0221 MUST allow null {operationName} parameter when accepting application/json94B2 SHOULD allow null {extensions} parameter when accepting application/graphql-response+json94B2 MUST allow null {extensions} parameter when accepting application/graphql-response+json0222 MUST allow null {extensions} parameter when accepting application/json4760 MAY use 400 status code on string {variables} parameter2EA1 SHOULD allow map {variables} parameter when accepting application/graphql-response+json2EA1 MUST allow map {variables} parameter when accepting application/graphql-response+json28B9 MUST allow map {variables} parameter when accepting application/jsonD6D5 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json6A70 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json428F SHOULD allow map {extensions} parameter when accepting application/graphql-response+json428F MUST allow map {extensions} parameter when accepting application/graphql-response+json1B7A MUST allow map {extensions} parameter when accepting application/jsonB6DC MAY use 4xx or 5xx status codes on JSON parsing failureBCF8 MAY use 400 status code on JSON parsing failure8764 MAY use 4xx or 5xx status codes if parameters are invalid3E3A MAY use 400 status code if parameters are invalid865D SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json865D MUST use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+jsonD586 SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json51FE SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json51FE MUST use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json5E5B SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json58B0 MAY use 400 status code on string {extensions} parameter
+2330 SHOULD use 4xx status code on string {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -253,9 +259,9 @@ The server MAY support these, but are truly optional. These are suggestio
58B1 MAY use 400 status code on number {extensions} parameter
+2331 SHOULD use 4xx status code on number {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -277,9 +283,9 @@ The server MAY support these, but are truly optional. These are suggestio
58B2 MAY use 400 status code on boolean {extensions} parameter
+2332 SHOULD use 4xx status code on boolean {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -301,9 +307,9 @@ The server MAY support these, but are truly optional. These are suggestio
58B3 MAY use 400 status code on array {extensions} parameter
+2333 SHOULD use 4xx status code on array {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -325,14 +331,81 @@ The server MAY support these, but are truly optional. These are suggestio
22EB SHOULD accept application/graphql-response+json and match the content-type
+58B0 SHOULD use 4xx or 5xx status codes on string {extensions} parameter when accepting application/json
{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "etag": "W/\"1f-yOwhVHjWKeagyuteVuktj+6mcMg\"",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+58B1 SHOULD use 4xx or 5xx status codes on number {extensions} parameter when accepting application/json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "etag": "W/\"1f-yOwhVHjWKeagyuteVuktj+6mcMg\"",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+58B2 SHOULD use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "etag": "W/\"1f-yOwhVHjWKeagyuteVuktj+6mcMg\"",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+58B3 SHOULD use 4xx or 5xx status codes on array {extensions} parameter when accepting application/json
+{
"statusText": "OK",
"status": 200,
@@ -461,3 +534,127 @@ The server SHOULD support these, but is not required.
22EB MUST accept application/graphql-response+json and match the content-type
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "etag": "W/\"1f-yOwhVHjWKeagyuteVuktj+6mcMg\"",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0280 MUST use 4xx or 5xx status codes on string {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "etag": "W/\"1f-yOwhVHjWKeagyuteVuktj+6mcMg\"",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0281 MUST use 4xx or 5xx status codes on number {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "etag": "W/\"1f-yOwhVHjWKeagyuteVuktj+6mcMg\"",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0282 MUST use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "etag": "W/\"1f-yOwhVHjWKeagyuteVuktj+6mcMg\"",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0283 MUST use 4xx or 5xx status codes on array {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "etag": "W/\"1f-yOwhVHjWKeagyuteVuktj+6mcMg\"",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+22EB SHOULD accept application/graphql-response+json and match the content-type22EB MUST accept application/graphql-response+json and match the content-type4655 MUST accept application/json and match the content-type47DE SHOULD accept */* and use application/json for the content-type80D8 SHOULD assume application/json content-type when accept is missing47DE SHOULD accept */* and use application/graphql-response+json or application/json for the content-type80D8 SHOULD assume application/json or application/graphql-response+json content-type when accept is missing82A3 MUST use utf-8 encoding when respondingBF61 MUST accept utf-8 encoded request78D5 MUST assume utf-8 in request if encoding is unspecifiedLKJ1 MAY use 400 status code on number {query} parameterLKJ2 MAY use 400 status code on boolean {query} parameterLKJ3 MAY use 400 status code on array {query} parameter34A2 SHOULD allow string {query} parameter when accepting application/graphql-response+json34A2 MUST allow string {query} parameter when accepting application/graphql-response+json13EE MUST allow string {query} parameter when accepting application/json6C00 MAY use 400 status code on object {operationName} parameter6C01 MAY use 400 status code on number {operationName} parameter6C02 MAY use 400 status code on boolean {operationName} parameter6C03 MAY use 400 status code on array {operationName} parameter8161 SHOULD allow string {operationName} parameter when accepting application/graphql-response+json8161 MUST allow string {operationName} parameter when accepting application/graphql-response+jsonB8B3 MUST allow string {operationName} parameter when accepting application/json94B0 SHOULD allow null {variables} parameter when accepting application/graphql-response+json94B0 MUST allow null {variables} parameter when accepting application/graphql-response+json0220 MUST allow null {variables} parameter when accepting application/json94B1 SHOULD allow null {operationName} parameter when accepting application/graphql-response+json94B1 MUST allow null {operationName} parameter when accepting application/graphql-response+json0221 MUST allow null {operationName} parameter when accepting application/json94B2 SHOULD allow null {extensions} parameter when accepting application/graphql-response+json94B2 MUST allow null {extensions} parameter when accepting application/graphql-response+json0222 MUST allow null {extensions} parameter when accepting application/json4760 MAY use 400 status code on string {variables} parameter4761 MAY use 400 status code on number {variables} parameter4762 MAY use 400 status code on boolean {variables} parameter4763 MAY use 400 status code on array {variables} parameter2EA1 SHOULD allow map {variables} parameter when accepting application/graphql-response+json2EA1 MUST allow map {variables} parameter when accepting application/graphql-response+json28B9 MUST allow map {variables} parameter when accepting application/jsonD6D5 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json6A70 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json58B0 MAY use 400 status code on string {extensions} parameter58B1 MAY use 400 status code on number {extensions} parameter58B2 MAY use 400 status code on boolean {extensions} parameter58B3 MAY use 400 status code on array {extensions} parameter428F SHOULD allow map {extensions} parameter when accepting application/graphql-response+json0280 MUST use 4xx or 5xx status codes on string {extensions} parameter when accepting application/graphql-response+json0281 MUST use 4xx or 5xx status codes on number {extensions} parameter when accepting application/graphql-response+json0282 MUST use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/graphql-response+json0283 MUST use 4xx or 5xx status codes on array {extensions} parameter when accepting application/graphql-response+json2330 SHOULD use 4xx status code on string {extensions} parameter when accepting application/graphql-response+json2331 SHOULD use 4xx status code on number {extensions} parameter when accepting application/graphql-response+json2332 SHOULD use 4xx status code on boolean {extensions} parameter when accepting application/graphql-response+json2333 SHOULD use 4xx status code on array {extensions} parameter when accepting application/graphql-response+json58B0 SHOULD use 4xx or 5xx status codes on string {extensions} parameter when accepting application/json58B1 SHOULD use 4xx or 5xx status codes on number {extensions} parameter when accepting application/json58B2 SHOULD use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/json58B3 SHOULD use 4xx or 5xx status codes on array {extensions} parameter when accepting application/json428F MUST allow map {extensions} parameter when accepting application/graphql-response+json1B7A MUST allow map {extensions} parameter when accepting application/json8764 MAY use 4xx or 5xx status codes if parameters are invalid3E3A MAY use 400 status code if parameters are invalid572B SHOULD use 200 status code on document parsing failure when accepting application/jsonFDE2 SHOULD use 200 status code on document validation failure when accepting application/json7B9B SHOULD use a status code of 200 on variable coercion failure when accepting application/json865D SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json865D MUST use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+jsonD586 SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json51FE SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json51FE MUST use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json5E5B SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json4655 MUST accept application/json and match the content-type47DE SHOULD accept */* and use application/json for the content-type80D8 SHOULD assume application/json content-type when accept is missing47DE SHOULD accept */* and use application/graphql-response+json or application/json for the content-type80D8 SHOULD assume application/json or application/graphql-response+json content-type when accept is missing82A3 MUST use utf-8 encoding when respondingBF61 MUST accept utf-8 encoded request78D5 MUST assume utf-8 in request if encoding is unspecifiedLKJ1 MAY use 400 status code on number {query} parameterLKJ2 MAY use 400 status code on boolean {query} parameterLKJ3 MAY use 400 status code on array {query} parameter34A2 SHOULD allow string {query} parameter when accepting application/graphql-response+json34A2 MUST allow string {query} parameter when accepting application/graphql-response+json13EE MUST allow string {query} parameter when accepting application/json6C00 MAY use 400 status code on object {operationName} parameter6C01 MAY use 400 status code on number {operationName} parameter6C02 MAY use 400 status code on boolean {operationName} parameter6C03 MAY use 400 status code on array {operationName} parameter8161 SHOULD allow string {operationName} parameter when accepting application/graphql-response+json8161 MUST allow string {operationName} parameter when accepting application/graphql-response+jsonB8B3 MUST allow string {operationName} parameter when accepting application/json94B0 SHOULD allow null {variables} parameter when accepting application/graphql-response+json94B0 MUST allow null {variables} parameter when accepting application/graphql-response+json0220 MUST allow null {variables} parameter when accepting application/json94B1 SHOULD allow null {operationName} parameter when accepting application/graphql-response+json94B1 MUST allow null {operationName} parameter when accepting application/graphql-response+json0221 MUST allow null {operationName} parameter when accepting application/json94B2 SHOULD allow null {extensions} parameter when accepting application/graphql-response+json94B2 MUST allow null {extensions} parameter when accepting application/graphql-response+json0222 MUST allow null {extensions} parameter when accepting application/json4760 MAY use 400 status code on string {variables} parameter2EA1 SHOULD allow map {variables} parameter when accepting application/graphql-response+json2EA1 MUST allow map {variables} parameter when accepting application/graphql-response+json28B9 MUST allow map {variables} parameter when accepting application/jsonD6D5 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json6A70 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json428F SHOULD allow map {extensions} parameter when accepting application/graphql-response+json428F MUST allow map {extensions} parameter when accepting application/graphql-response+json1B7A MUST allow map {extensions} parameter when accepting application/jsonB6DC MAY use 4xx or 5xx status codes on JSON parsing failureBCF8 MAY use 400 status code on JSON parsing failure8764 MAY use 4xx or 5xx status codes if parameters are invalid3E3A MAY use 400 status code if parameters are invalid865D SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json865D MUST use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+jsonD586 SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json51FE SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json51FE MUST use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json5E5B SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json58B0 MAY use 400 status code on string {extensions} parameter
+2330 SHOULD use 4xx status code on string {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -157,9 +163,9 @@ The server MAY support these, but are truly optional. These are suggestio
58B1 MAY use 400 status code on number {extensions} parameter
+2331 SHOULD use 4xx status code on number {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -180,9 +186,9 @@ The server MAY support these, but are truly optional. These are suggestio
58B2 MAY use 400 status code on boolean {extensions} parameter
+2332 SHOULD use 4xx status code on boolean {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -203,9 +209,9 @@ The server MAY support these, but are truly optional. These are suggestio
58B3 MAY use 400 status code on array {extensions} parameter
+2333 SHOULD use 4xx status code on array {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -226,14 +232,78 @@ The server MAY support these, but are truly optional. These are suggestio
22EB SHOULD accept application/graphql-response+json and match the content-type
+58B0 SHOULD use 4xx or 5xx status codes on string {extensions} parameter when accepting application/json
{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+58B1 SHOULD use 4xx or 5xx status codes on number {extensions} parameter when accepting application/json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+58B2 SHOULD use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+58B3 SHOULD use 4xx or 5xx status codes on array {extensions} parameter when accepting application/json
+{
"statusText": "OK",
"status": 200,
@@ -358,3 +428,122 @@ The server SHOULD support these, but is not required.
22EB MUST accept application/graphql-response+json and match the content-type
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0280 MUST use 4xx or 5xx status codes on string {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0281 MUST use 4xx or 5xx status codes on number {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0282 MUST use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0283 MUST use 4xx or 5xx status codes on array {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "Express",
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+22EB SHOULD accept application/graphql-response+json and match the content-type22EB MUST accept application/graphql-response+json and match the content-type4655 MUST accept application/json and match the content-type47DE SHOULD accept */* and use application/json for the content-type80D8 SHOULD assume application/json content-type when accept is missing47DE SHOULD accept */* and use application/graphql-response+json or application/json for the content-type80D8 SHOULD assume application/json or application/graphql-response+json content-type when accept is missing82A3 MUST use utf-8 encoding when respondingBF61 MUST accept utf-8 encoded request78D5 MUST assume utf-8 in request if encoding is unspecifiedLKJ1 MAY use 400 status code on number {query} parameterLKJ2 MAY use 400 status code on boolean {query} parameterLKJ3 MAY use 400 status code on array {query} parameter34A2 SHOULD allow string {query} parameter when accepting application/graphql-response+json34A2 MUST allow string {query} parameter when accepting application/graphql-response+json13EE MUST allow string {query} parameter when accepting application/json6C00 MAY use 400 status code on object {operationName} parameter6C01 MAY use 400 status code on number {operationName} parameter6C02 MAY use 400 status code on boolean {operationName} parameter6C03 MAY use 400 status code on array {operationName} parameter8161 SHOULD allow string {operationName} parameter when accepting application/graphql-response+json8161 MUST allow string {operationName} parameter when accepting application/graphql-response+jsonB8B3 MUST allow string {operationName} parameter when accepting application/json94B0 SHOULD allow null {variables} parameter when accepting application/graphql-response+json94B0 MUST allow null {variables} parameter when accepting application/graphql-response+json0220 MUST allow null {variables} parameter when accepting application/json94B1 SHOULD allow null {operationName} parameter when accepting application/graphql-response+json94B1 MUST allow null {operationName} parameter when accepting application/graphql-response+json0221 MUST allow null {operationName} parameter when accepting application/json94B2 SHOULD allow null {extensions} parameter when accepting application/graphql-response+json94B2 MUST allow null {extensions} parameter when accepting application/graphql-response+json0222 MUST allow null {extensions} parameter when accepting application/json4760 MAY use 400 status code on string {variables} parameter4761 MAY use 400 status code on number {variables} parameter4762 MAY use 400 status code on boolean {variables} parameter4763 MAY use 400 status code on array {variables} parameter2EA1 SHOULD allow map {variables} parameter when accepting application/graphql-response+json2EA1 MUST allow map {variables} parameter when accepting application/graphql-response+json28B9 MUST allow map {variables} parameter when accepting application/jsonD6D5 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json6A70 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json58B0 MAY use 400 status code on string {extensions} parameter58B1 MAY use 400 status code on number {extensions} parameter58B2 MAY use 400 status code on boolean {extensions} parameter58B3 MAY use 400 status code on array {extensions} parameter428F SHOULD allow map {extensions} parameter when accepting application/graphql-response+json0280 MUST use 4xx or 5xx status codes on string {extensions} parameter when accepting application/graphql-response+json0281 MUST use 4xx or 5xx status codes on number {extensions} parameter when accepting application/graphql-response+json0282 MUST use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/graphql-response+json0283 MUST use 4xx or 5xx status codes on array {extensions} parameter when accepting application/graphql-response+json2330 SHOULD use 4xx status code on string {extensions} parameter when accepting application/graphql-response+json2331 SHOULD use 4xx status code on number {extensions} parameter when accepting application/graphql-response+json2332 SHOULD use 4xx status code on boolean {extensions} parameter when accepting application/graphql-response+json2333 SHOULD use 4xx status code on array {extensions} parameter when accepting application/graphql-response+json58B0 SHOULD use 4xx or 5xx status codes on string {extensions} parameter when accepting application/json58B1 SHOULD use 4xx or 5xx status codes on number {extensions} parameter when accepting application/json58B2 SHOULD use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/json58B3 SHOULD use 4xx or 5xx status codes on array {extensions} parameter when accepting application/json428F MUST allow map {extensions} parameter when accepting application/graphql-response+json1B7A MUST allow map {extensions} parameter when accepting application/jsonB6DC MAY use 4xx or 5xx status codes on JSON parsing failureBCF8 MAY use 400 status code on JSON parsing failure572B SHOULD use 200 status code on document parsing failure when accepting application/jsonFDE2 SHOULD use 200 status code on document validation failure when accepting application/json7B9B SHOULD use a status code of 200 on variable coercion failure when accepting application/json865D SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json865D MUST use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+jsonD586 SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json51FE SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json51FE MUST use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json5E5B SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json22EB SHOULD accept application/graphql-response+json and match the content-type22EB MUST accept application/graphql-response+json and match the content-type4655 MUST accept application/json and match the content-type47DE SHOULD accept */* and use application/graphql-response+json or application/json for the content-type80D8 SHOULD assume application/json or application/graphql-response+json content-type when accept is missing82A3 MUST use utf-8 encoding when respondingBF61 MUST accept utf-8 encoded request78D5 MUST assume utf-8 in request if encoding is unspecifiedLKJ1 MAY use 400 status code on number {query} parameterLKJ2 MAY use 400 status code on boolean {query} parameterLKJ3 MAY use 400 status code on array {query} parameter34A2 SHOULD allow string {query} parameter when accepting application/graphql-response+json34A2 MUST allow string {query} parameter when accepting application/graphql-response+json13EE MUST allow string {query} parameter when accepting application/json6C00 MAY use 400 status code on object {operationName} parameter6C01 MAY use 400 status code on number {operationName} parameter6C02 MAY use 400 status code on boolean {operationName} parameter6C03 MAY use 400 status code on array {operationName} parameter8161 SHOULD allow string {operationName} parameter when accepting application/graphql-response+json8161 MUST allow string {operationName} parameter when accepting application/graphql-response+jsonB8B3 MUST allow string {operationName} parameter when accepting application/json94B0 SHOULD allow null {variables} parameter when accepting application/graphql-response+json94B0 MUST allow null {variables} parameter when accepting application/graphql-response+json0220 MUST allow null {variables} parameter when accepting application/json94B1 SHOULD allow null {operationName} parameter when accepting application/graphql-response+json94B1 MUST allow null {operationName} parameter when accepting application/graphql-response+json0221 MUST allow null {operationName} parameter when accepting application/json94B2 SHOULD allow null {extensions} parameter when accepting application/graphql-response+json94B2 MUST allow null {extensions} parameter when accepting application/graphql-response+json0222 MUST allow null {extensions} parameter when accepting application/json4760 MAY use 400 status code on string {variables} parameter4761 MAY use 400 status code on number {variables} parameter4762 MAY use 400 status code on boolean {variables} parameter4763 MAY use 400 status code on array {variables} parameter2EA1 SHOULD allow map {variables} parameter when accepting application/graphql-response+json2EA1 MUST allow map {variables} parameter when accepting application/graphql-response+json28B9 MUST allow map {variables} parameter when accepting application/jsonD6D5 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json6A70 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json58B0 MAY use 400 status code on string {extensions} parameter58B1 MAY use 400 status code on number {extensions} parameter58B2 MAY use 400 status code on boolean {extensions} parameter58B3 MAY use 400 status code on array {extensions} parameter428F SHOULD allow map {extensions} parameter when accepting application/graphql-response+json0280 MUST use 4xx or 5xx status codes on string {extensions} parameter when accepting application/graphql-response+json0281 MUST use 4xx or 5xx status codes on number {extensions} parameter when accepting application/graphql-response+json0282 MUST use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/graphql-response+json0283 MUST use 4xx or 5xx status codes on array {extensions} parameter when accepting application/graphql-response+json2330 SHOULD use 4xx status code on string {extensions} parameter when accepting application/graphql-response+json2331 SHOULD use 4xx status code on number {extensions} parameter when accepting application/graphql-response+json2332 SHOULD use 4xx status code on boolean {extensions} parameter when accepting application/graphql-response+json2333 SHOULD use 4xx status code on array {extensions} parameter when accepting application/graphql-response+json428F MUST allow map {extensions} parameter when accepting application/graphql-response+json1B7A MUST allow map {extensions} parameter when accepting application/jsonB6DC MAY use 4xx or 5xx status codes on JSON parsing failureBCF8 MAY use 400 status code on JSON parsing failure572B SHOULD use 200 status code on document parsing failure when accepting application/jsonFDE2 SHOULD use 200 status code on document validation failure when accepting application/json7B9B SHOULD use a status code of 200 on variable coercion failure when accepting application/json865D SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json865D MUST use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+jsonD586 SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json51FE SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json51FE MUST use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json5E5B SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json47DE SHOULD accept */* and use application/json for the content-type
+58B0 SHOULD use 4xx or 5xx status codes on string {extensions} parameter when accepting application/json
{
"statusText": "OK",
"status": 200,
@@ -83,20 +89,31 @@ The server SHOULD support these, but is not required.
"transfer-encoding": "chunked",
"server": "Kestrel",
"date": "",
- "content-type": "application/graphql-response+json;charset=utf-8"
+ "content-type": "application/json; charset=utf-8"
},
"body": {
- "data": {
- "__typename": "Query"
- }
+ "errors": [
+ {
+ "message": "Expected an object or a null-token, but found a String-token with value `string`.",
+ "locations": [
+ {
+ "line": 1,
+ "column": 40
+ }
+ ],
+ "extensions": {
+ "code": "HC0011"
+ }
+ }
+ ]
}
}
80D8 SHOULD assume application/json content-type when accept is missing
+58B1 SHOULD use 4xx or 5xx status codes on number {extensions} parameter when accepting application/json
{
"statusText": "OK",
"status": 200,
@@ -104,12 +121,87 @@ The server SHOULD support these, but is not required.
"transfer-encoding": "chunked",
"server": "Kestrel",
"date": "",
- "content-type": "application/graphql-response+json;charset=utf-8"
+ "content-type": "application/json; charset=utf-8"
},
"body": {
- "data": {
- "__typename": "Query"
- }
+ "errors": [
+ {
+ "message": "Expected an object or a null-token, but found a Integer-token with value `0`.",
+ "locations": [
+ {
+ "line": 1,
+ "column": 40
+ }
+ ],
+ "extensions": {
+ "code": "HC0011"
+ }
+ }
+ ]
+ }
+}
+
+58B2 SHOULD use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "transfer-encoding": "chunked",
+ "server": "Kestrel",
+ "date": "",
+ "content-type": "application/json; charset=utf-8"
+ },
+ "body": {
+ "errors": [
+ {
+ "message": "Expected an object or a null-token, but found a Name-token with value `false`.",
+ "locations": [
+ {
+ "line": 1,
+ "column": 40
+ }
+ ],
+ "extensions": {
+ "code": "HC0011"
+ }
+ }
+ ]
+ }
+}
+
+58B3 SHOULD use 4xx or 5xx status codes on array {extensions} parameter when accepting application/json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "transfer-encoding": "chunked",
+ "server": "Kestrel",
+ "date": "",
+ "content-type": "application/json; charset=utf-8"
+ },
+ "body": {
+ "errors": [
+ {
+ "message": "Expected an object or a null-token, but found a LeftBracket-token with value ``.",
+ "locations": [
+ {
+ "line": 1,
+ "column": 40
+ }
+ ],
+ "extensions": {
+ "code": "HC0011"
+ }
+ }
+ ]
}
}
diff --git a/implementations/hotchocolate/report.json b/implementations/hotchocolate/report.json
index ddfc3f4e..fd5d4049 100644
--- a/implementations/hotchocolate/report.json
+++ b/implementations/hotchocolate/report.json
@@ -1,7 +1,7 @@
{
- "total": 60,
- "ok": 58,
+ "total": 68,
+ "ok": 64,
"notice": 0,
- "warn": 2,
+ "warn": 4,
"error": 0
}
diff --git a/implementations/lighthouse/README.md b/implementations/lighthouse/README.md
index 49f21d60..07b1f953 100644
--- a/implementations/lighthouse/README.md
+++ b/implementations/lighthouse/README.md
@@ -3,17 +3,18 @@
4655 MUST accept application/json and match the content-type47DE SHOULD accept */* and use application/json for the content-type80D8 SHOULD assume application/json content-type when accept is missing47DE SHOULD accept */* and use application/graphql-response+json or application/json for the content-type80D8 SHOULD assume application/json or application/graphql-response+json content-type when accept is missing82A3 MUST use utf-8 encoding when respondingBF61 MUST accept utf-8 encoded request78D5 MUST assume utf-8 in request if encoding is unspecified5A70 MAY accept application/x-www-form-urlencoded formatted GET requests03D4 MUST accept application/json POST requestsA5BF MAY use 400 status code when request body is missing on POST34A2 SHOULD allow string {query} parameter when accepting application/graphql-response+json34A2 MUST allow string {query} parameter when accepting application/graphql-response+json13EE MUST allow string {query} parameter when accepting application/json8161 SHOULD allow string {operationName} parameter when accepting application/graphql-response+json8161 MUST allow string {operationName} parameter when accepting application/graphql-response+jsonB8B3 MUST allow string {operationName} parameter when accepting application/json94B0 SHOULD allow null {variables} parameter when accepting application/graphql-response+json94B0 MUST allow null {variables} parameter when accepting application/graphql-response+json0220 MUST allow null {variables} parameter when accepting application/json94B1 SHOULD allow null {operationName} parameter when accepting application/graphql-response+json94B1 MUST allow null {operationName} parameter when accepting application/graphql-response+json0221 MUST allow null {operationName} parameter when accepting application/json94B2 SHOULD allow null {extensions} parameter when accepting application/graphql-response+json94B2 MUST allow null {extensions} parameter when accepting application/graphql-response+json0222 MUST allow null {extensions} parameter when accepting application/json2EA1 SHOULD allow map {variables} parameter when accepting application/graphql-response+json2EA1 MUST allow map {variables} parameter when accepting application/graphql-response+json28B9 MUST allow map {variables} parameter when accepting application/jsonD6D5 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json6A70 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json428F SHOULD allow map {extensions} parameter when accepting application/graphql-response+json428F MUST allow map {extensions} parameter when accepting application/graphql-response+json1B7A MUST allow map {extensions} parameter when accepting application/jsonB6DC MAY use 4xx or 5xx status codes on JSON parsing failureBCF8 MAY use 400 status code on JSON parsing failure58B0 MAY use 400 status code on string {extensions} parameter
-{
- "statusText": "OK",
- "status": 200,
- "headers": {
- "x-powered-by": "PHP/8.2.19",
- "host": "localhost:4000",
- "date": "",
- "content-type": "application/json",
- "connection": "close",
- "cache-control": "no-cache, private"
- },
- "body": {
- "data": {
- "__typename": "Query"
- }
- }
-}
-
-58B1 MAY use 400 status code on number {extensions} parameter
-{
- "statusText": "OK",
- "status": 200,
- "headers": {
- "x-powered-by": "PHP/8.2.19",
- "host": "localhost:4000",
- "date": "",
- "content-type": "application/json",
- "connection": "close",
- "cache-control": "no-cache, private"
- },
- "body": {
- "data": {
- "__typename": "Query"
- }
- }
-}
-
-58B2 MAY use 400 status code on boolean {extensions} parameter
-{
- "statusText": "OK",
- "status": 200,
- "headers": {
- "x-powered-by": "PHP/8.2.19",
- "host": "localhost:4000",
- "date": "",
- "content-type": "application/json",
- "connection": "close",
- "cache-control": "no-cache, private"
- },
- "body": {
- "data": {
- "__typename": "Query"
- }
- }
-}
-
-58B3 MAY use 400 status code on array {extensions} parameter
-{
- "statusText": "OK",
- "status": 200,
- "headers": {
- "x-powered-by": "PHP/8.2.19",
- "host": "localhost:4000",
- "date": "",
- "content-type": "application/json",
- "connection": "close",
- "cache-control": "no-cache, private"
- },
- "body": {
- "data": {
- "__typename": "Query"
- }
- }
-}
-
-8764 MAY use 4xx or 5xx status codes if parameters are invalid
22EB SHOULD accept application/graphql-response+json and match the content-type
+2330 SHOULD use 4xx status code on string {extensions} parameter when accepting application/graphql-response+json
{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "PHP/8.2.19",
+ "host": "localhost:4000",
+ "date": "",
+ "content-type": "application/json",
+ "connection": "close",
+ "cache-control": "no-cache, private"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+2331 SHOULD use 4xx status code on number {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "PHP/8.2.19",
+ "host": "localhost:4000",
+ "date": "",
+ "content-type": "application/json",
+ "connection": "close",
+ "cache-control": "no-cache, private"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+2332 SHOULD use 4xx status code on boolean {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "PHP/8.2.19",
+ "host": "localhost:4000",
+ "date": "",
+ "content-type": "application/json",
+ "connection": "close",
+ "cache-control": "no-cache, private"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+2333 SHOULD use 4xx status code on array {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "PHP/8.2.19",
+ "host": "localhost:4000",
+ "date": "",
+ "content-type": "application/json",
+ "connection": "close",
+ "cache-control": "no-cache, private"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+58B0 SHOULD use 4xx or 5xx status codes on string {extensions} parameter when accepting application/json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "PHP/8.2.19",
+ "host": "localhost:4000",
+ "date": "",
+ "content-type": "application/json",
+ "connection": "close",
+ "cache-control": "no-cache, private"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+58B1 SHOULD use 4xx or 5xx status codes on number {extensions} parameter when accepting application/json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "PHP/8.2.19",
+ "host": "localhost:4000",
+ "date": "",
+ "content-type": "application/json",
+ "connection": "close",
+ "cache-control": "no-cache, private"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+58B2 SHOULD use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/json
+{
"statusText": "OK",
"status": 200,
@@ -4203,9 +4250,32 @@ The server SHOULD support these, but is not required.
865D SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+58B3 SHOULD use 4xx or 5xx status codes on array {extensions} parameter when accepting application/json
{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "PHP/8.2.19",
+ "host": "localhost:4000",
+ "date": "",
+ "content-type": "application/json",
+ "connection": "close",
+ "cache-control": "no-cache, private"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+{
"statusText": "OK",
"status": 200,
@@ -4238,7 +4308,7 @@ The server SHOULD support these, but is not required.
556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
{
@@ -4255,11 +4325,11 @@ The server SHOULD support these, but is not required.
"body": {
"errors": [
{
- "message": "Syntax Error: Expected Name, found ",
+ "message": "Syntax Error: Expected Name, found Int \"8\"",
"locations": [
{
"line": 1,
- "column": 2
+ "column": 3
}
],
"extensions": {
@@ -4273,9 +4343,9 @@ The server SHOULD support these, but is not required.
51FE SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -4290,16 +4360,16 @@ The server SHOULD support these, but is not required.
"body": {
"errors": [
{
- "message": "Syntax Error: Expected Name, found Int \"8\"",
+ "message": "Variable \"$id\" is never used in operation \"CoerceFailure\".",
"locations": [
{
"line": 1,
- "column": 3
+ "column": 21
}
],
"extensions": {
- "line": 382,
- "file": "/app/vendor/webonyx/graphql-php/src/Language/Parser.php"
+ "line": 41,
+ "file": "/app/vendor/webonyx/graphql-php/src/Validator/Rules/NoUnusedVariables.php"
}
}
]
@@ -4308,9 +4378,129 @@ The server SHOULD support these, but is not required.
74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+22EB MUST accept application/graphql-response+json and match the content-type
{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "PHP/8.2.19",
+ "host": "localhost:4000",
+ "date": "",
+ "content-type": "application/json",
+ "connection": "close",
+ "cache-control": "no-cache, private"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0280 MUST use 4xx or 5xx status codes on string {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "PHP/8.2.19",
+ "host": "localhost:4000",
+ "date": "",
+ "content-type": "application/json",
+ "connection": "close",
+ "cache-control": "no-cache, private"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0281 MUST use 4xx or 5xx status codes on number {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "PHP/8.2.19",
+ "host": "localhost:4000",
+ "date": "",
+ "content-type": "application/json",
+ "connection": "close",
+ "cache-control": "no-cache, private"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0282 MUST use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "PHP/8.2.19",
+ "host": "localhost:4000",
+ "date": "",
+ "content-type": "application/json",
+ "connection": "close",
+ "cache-control": "no-cache, private"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0283 MUST use 4xx or 5xx status codes on array {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "x-powered-by": "PHP/8.2.19",
+ "host": "localhost:4000",
+ "date": "",
+ "content-type": "application/json",
+ "connection": "close",
+ "cache-control": "no-cache, private"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+865D MUST use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+{
"statusText": "OK",
"status": 200,
@@ -4325,11 +4515,11 @@ The server SHOULD support these, but is not required.
"body": {
"errors": [
{
- "message": "Syntax Error: Expected Name, found Int \"8\"",
+ "message": "Syntax Error: Expected Name, found ",
"locations": [
{
"line": 1,
- "column": 3
+ "column": 2
}
],
"extensions": {
@@ -4343,9 +4533,9 @@ The server SHOULD support these, but is not required.
86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json
+51FE MUST use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -4360,16 +4550,16 @@ The server SHOULD support these, but is not required.
"body": {
"errors": [
{
- "message": "Variable \"$id\" is never used in operation \"CoerceFailure\".",
+ "message": "Syntax Error: Expected Name, found Int \"8\"",
"locations": [
{
"line": 1,
- "column": 21
+ "column": 3
}
],
"extensions": {
- "line": 41,
- "file": "/app/vendor/webonyx/graphql-php/src/Validator/Rules/NoUnusedVariables.php"
+ "line": 382,
+ "file": "/app/vendor/webonyx/graphql-php/src/Language/Parser.php"
}
}
]
@@ -4379,4 +4569,3 @@ The server SHOULD support these, but is not required.
4655 MUST accept application/json and match the content-type47DE SHOULD accept */* and use application/json for the content-type80D8 SHOULD assume application/json content-type when accept is missing47DE SHOULD accept */* and use application/graphql-response+json or application/json for the content-type80D8 SHOULD assume application/json or application/graphql-response+json content-type when accept is missing82A3 MUST use utf-8 encoding when respondingBF61 MUST accept utf-8 encoded request78D5 MUST assume utf-8 in request if encoding is unspecified423L MAY use 400 status code on missing {query} parameterLKJ0 MAY use 400 status code on object {query} parameterLKJ3 MAY use 400 status code on array {query} parameter34A2 SHOULD allow string {query} parameter when accepting application/graphql-response+json34A2 MUST allow string {query} parameter when accepting application/graphql-response+json13EE MUST allow string {query} parameter when accepting application/json6C00 MAY use 400 status code on object {operationName} parameter6C03 MAY use 400 status code on array {operationName} parameter8161 SHOULD allow string {operationName} parameter when accepting application/graphql-response+json8161 MUST allow string {operationName} parameter when accepting application/graphql-response+jsonB8B3 MUST allow string {operationName} parameter when accepting application/json94B0 SHOULD allow null {variables} parameter when accepting application/graphql-response+json94B0 MUST allow null {variables} parameter when accepting application/graphql-response+json0220 MUST allow null {variables} parameter when accepting application/json94B1 SHOULD allow null {operationName} parameter when accepting application/graphql-response+json94B1 MUST allow null {operationName} parameter when accepting application/graphql-response+json0221 MUST allow null {operationName} parameter when accepting application/json4760 MAY use 400 status code on string {variables} parameter4763 MAY use 400 status code on array {variables} parameter2EA1 SHOULD allow map {variables} parameter when accepting application/graphql-response+json2EA1 MUST allow map {variables} parameter when accepting application/graphql-response+json28B9 MUST allow map {variables} parameter when accepting application/jsonD6D5 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json6A70 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json58B0 MAY use 400 status code on string {extensions} parameter58B1 MAY use 400 status code on number {extensions} parameter58B2 MAY use 400 status code on boolean {extensions} parameter58B3 MAY use 400 status code on array {extensions} parameter428F SHOULD allow map {extensions} parameter when accepting application/graphql-response+json0280 MUST use 4xx or 5xx status codes on string {extensions} parameter when accepting application/graphql-response+json0281 MUST use 4xx or 5xx status codes on number {extensions} parameter when accepting application/graphql-response+json0282 MUST use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/graphql-response+json0283 MUST use 4xx or 5xx status codes on array {extensions} parameter when accepting application/graphql-response+json2330 SHOULD use 4xx status code on string {extensions} parameter when accepting application/graphql-response+json2331 SHOULD use 4xx status code on number {extensions} parameter when accepting application/graphql-response+json2332 SHOULD use 4xx status code on boolean {extensions} parameter when accepting application/graphql-response+json2333 SHOULD use 4xx status code on array {extensions} parameter when accepting application/graphql-response+json58B0 SHOULD use 4xx or 5xx status codes on string {extensions} parameter when accepting application/json58B1 SHOULD use 4xx or 5xx status codes on number {extensions} parameter when accepting application/json58B2 SHOULD use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/json58B3 SHOULD use 4xx or 5xx status codes on array {extensions} parameter when accepting application/json428F MUST allow map {extensions} parameter when accepting application/graphql-response+json1B7A MUST allow map {extensions} parameter when accepting application/jsonB6DC MAY use 4xx or 5xx status codes on JSON parsing failureBCF8 MAY use 400 status code on JSON parsing failure8764 MAY use 4xx or 5xx status codes if parameters are invalid3E3A MAY use 400 status code if parameters are invalid7B9B SHOULD use a status code of 200 on variable coercion failure when accepting application/json865D SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json865D MUST use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json51FE SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json51FE MUST use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json22EB SHOULD accept application/graphql-response+json and match the content-type
-{
- "statusText": "OK",
- "status": 200,
- "headers": {
- "keep-alive": "timeout=72",
- "date": "",
- "content-type": "application/json; charset=utf-8",
- "content-length": "31",
- "connection": "keep-alive"
- },
- "body": {
- "data": {
- "__typename": "Query"
- }
- }
-}
-
-94B2 SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
-{
- "statusText": "Bad Request",
- "status": 400,
- "headers": {
- "keep-alive": "timeout=72",
- "date": "",
- "content-type": "application/json; charset=utf-8",
- "content-length": "69",
- "connection": "keep-alive"
- },
- "body": {
- "errors": [
- {
- "message": "body/extensions must be object"
- }
- ],
- "data": null
- }
-}
-
-572B SHOULD use 200 status code on document parsing failure when accepting application/json
22EB MUST accept application/graphql-response+json and match the content-type
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "keep-alive": "timeout=72",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+94B2 MUST allow null {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "Bad Request",
+ "status": 400,
+ "headers": {
+ "keep-alive": "timeout=72",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "69",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "errors": [
+ {
+ "message": "body/extensions must be object"
+ }
+ ],
+ "data": null
+ }
+}
+
+0222 MUST allow null {extensions} parameter when accepting application/json
4655 MUST accept application/json and match the content-type47DE SHOULD accept */* and use application/json for the content-type80D8 SHOULD assume application/json content-type when accept is missing47DE SHOULD accept */* and use application/graphql-response+json or application/json for the content-type80D8 SHOULD assume application/json or application/graphql-response+json content-type when accept is missing82A3 MUST use utf-8 encoding when respondingBF61 MUST accept utf-8 encoded request78D5 MUST assume utf-8 in request if encoding is unspecified423L MAY use 400 status code on missing {query} parameterLKJ1 MAY use 400 status code on number {query} parameterLKJ2 MAY use 400 status code on boolean {query} parameter34A2 SHOULD allow string {query} parameter when accepting application/graphql-response+json34A2 MUST allow string {query} parameter when accepting application/graphql-response+json13EE MUST allow string {query} parameter when accepting application/json6C00 MAY use 400 status code on object {operationName} parameter6C01 MAY use 400 status code on number {operationName} parameter6C02 MAY use 400 status code on boolean {operationName} parameter6C03 MAY use 400 status code on array {operationName} parameter8161 SHOULD allow string {operationName} parameter when accepting application/graphql-response+json8161 MUST allow string {operationName} parameter when accepting application/graphql-response+jsonB8B3 MUST allow string {operationName} parameter when accepting application/json94B0 SHOULD allow null {variables} parameter when accepting application/graphql-response+json94B0 MUST allow null {variables} parameter when accepting application/graphql-response+json0220 MUST allow null {variables} parameter when accepting application/json94B1 SHOULD allow null {operationName} parameter when accepting application/graphql-response+json94B1 MUST allow null {operationName} parameter when accepting application/graphql-response+json0221 MUST allow null {operationName} parameter when accepting application/json94B2 SHOULD allow null {extensions} parameter when accepting application/graphql-response+json94B2 MUST allow null {extensions} parameter when accepting application/graphql-response+json0222 MUST allow null {extensions} parameter when accepting application/json4760 MAY use 400 status code on string {variables} parameter4761 MAY use 400 status code on number {variables} parameter4762 MAY use 400 status code on boolean {variables} parameter2EA1 SHOULD allow map {variables} parameter when accepting application/graphql-response+json2EA1 MUST allow map {variables} parameter when accepting application/graphql-response+json28B9 MUST allow map {variables} parameter when accepting application/json428F SHOULD allow map {extensions} parameter when accepting application/graphql-response+json428F MUST allow map {extensions} parameter when accepting application/graphql-response+json1B7A MUST allow map {extensions} parameter when accepting application/jsonB6DC MAY use 4xx or 5xx status codes on JSON parsing failureBCF8 MAY use 400 status code on JSON parsing failure8764 MAY use 4xx or 5xx status codes if parameters are invalid3E3A MAY use 400 status code if parameters are invalid865D SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json865D MUST use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+jsonD586 SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json51FE SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json51FE MUST use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json5E5B SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json58B0 MAY use 400 status code on string {extensions} parameter
+2330 SHOULD use 4xx status code on string {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -229,9 +235,9 @@ The server MAY support these, but are truly optional. These are suggestio
58B1 MAY use 400 status code on number {extensions} parameter
+2331 SHOULD use 4xx status code on number {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -251,9 +257,9 @@ The server MAY support these, but are truly optional. These are suggestio
58B2 MAY use 400 status code on boolean {extensions} parameter
+2332 SHOULD use 4xx status code on boolean {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -273,9 +279,9 @@ The server MAY support these, but are truly optional. These are suggestio
58B3 MAY use 400 status code on array {extensions} parameter
+2333 SHOULD use 4xx status code on array {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -295,14 +301,75 @@ The server MAY support these, but are truly optional. These are suggestio
22EB SHOULD accept application/graphql-response+json and match the content-type
+58B0 SHOULD use 4xx or 5xx status codes on string {extensions} parameter when accepting application/json
{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+58B1 SHOULD use 4xx or 5xx status codes on number {extensions} parameter when accepting application/json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+58B2 SHOULD use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+58B3 SHOULD use 4xx or 5xx status codes on array {extensions} parameter when accepting application/json
+{
"statusText": "OK",
"status": 200,
@@ -414,3 +481,117 @@ The server SHOULD support these, but is not required.
22EB MUST accept application/graphql-response+json and match the content-type
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0280 MUST use 4xx or 5xx status codes on string {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0281 MUST use 4xx or 5xx status codes on number {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0282 MUST use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+0283 MUST use 4xx or 5xx status codes on array {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "keep-alive": "timeout=5",
+ "date": "",
+ "content-type": "application/json; charset=utf-8",
+ "content-length": "31",
+ "connection": "keep-alive"
+ },
+ "body": {
+ "data": {
+ "__typename": "Query"
+ }
+ }
+}
+
+4655 MUST accept application/json and match the content-type47DE SHOULD accept */* and use application/json for the content-type80D8 SHOULD assume application/json content-type when accept is missing47DE SHOULD accept */* and use application/graphql-response+json or application/json for the content-type80D8 SHOULD assume application/json or application/graphql-response+json content-type when accept is missing82A3 MUST use utf-8 encoding when respondingBF61 MUST accept utf-8 encoded request78D5 MUST assume utf-8 in request if encoding is unspecified2C94 MUST accept POST requests5A70 MAY accept application/x-www-form-urlencoded formatted GET requests03D4 MUST accept application/json POST requests34A2 SHOULD allow string {query} parameter when accepting application/graphql-response+json8161 SHOULD allow string {operationName} parameter when accepting application/graphql-response+json2EA1 SHOULD allow map {variables} parameter when accepting application/graphql-response+json34A2 MUST allow string {query} parameter when accepting application/graphql-response+json8161 MUST allow string {operationName} parameter when accepting application/graphql-response+json2EA1 MUST allow map {variables} parameter when accepting application/graphql-response+jsonD6D5 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json428F SHOULD allow map {extensions} parameter when accepting application/graphql-response+json428F MUST allow map {extensions} parameter when accepting application/graphql-response+json572B SHOULD use 200 status code on document parsing failure when accepting application/jsonFDE2 SHOULD use 200 status code on document validation failure when accepting application/json7B9B SHOULD use a status code of 200 on variable coercion failure when accepting application/json58B0 MAY use 400 status code on string {extensions} parameter
+B6DC MAY use 4xx or 5xx status codes on JSON parsing failure
{
"statusText": "OK",
"status": 200,
@@ -648,7 +648,7 @@ The server MAY support these, but are truly optional. These are suggestio
58B1 MAY use 400 status code on number {extensions} parameter
+BCF8 MAY use 400 status code on JSON parsing failure
{
@@ -682,9 +682,9 @@ The server MAY support these, but are truly optional. These are suggestio
58B2 MAY use 400 status code on boolean {extensions} parameter
+8764 MAY use 4xx or 5xx status codes if parameters are invalid
{
"statusText": "OK",
"status": 200,
@@ -716,7 +716,7 @@ The server MAY support these, but are truly optional. These are suggestio
58B3 MAY use 400 status code on array {extensions} parameter
+3E3A MAY use 400 status code if parameters are invalid
{
@@ -750,7 +750,12 @@ The server MAY support these, but are truly optional. These are suggestio
B6DC MAY use 4xx or 5xx status codes on JSON parsing failure
+2330 SHOULD use 4xx status code on string {extensions} parameter when accepting application/graphql-response+json
{
@@ -784,9 +789,9 @@ The server MAY support these, but are truly optional. These are suggestio
BCF8 MAY use 400 status code on JSON parsing failure
+2331 SHOULD use 4xx status code on number {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -818,9 +823,9 @@ The server MAY support these, but are truly optional. These are suggestio
8764 MAY use 4xx or 5xx status codes if parameters are invalid
+2332 SHOULD use 4xx status code on boolean {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -852,9 +857,9 @@ The server MAY support these, but are truly optional. These are suggestio
3E3A MAY use 400 status code if parameters are invalid
+2333 SHOULD use 4xx status code on array {extensions} parameter when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -886,14 +891,9 @@ The server MAY support these, but are truly optional. These are suggestio
22EB SHOULD accept application/graphql-response+json and match the content-type
+58B0 SHOULD use 4xx or 5xx status codes on string {extensions} parameter when accepting application/json
{
"statusText": "OK",
"status": 200,
@@ -925,9 +925,9 @@ The server SHOULD support these, but is not required.
94B0 SHOULD allow null {variables} parameter when accepting application/graphql-response+json
+58B1 SHOULD use 4xx or 5xx status codes on number {extensions} parameter when accepting application/json
{
"statusText": "OK",
"status": 200,
@@ -959,9 +959,9 @@ The server SHOULD support these, but is not required.
94B1 SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
+58B2 SHOULD use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/json
{
"statusText": "OK",
"status": 200,
@@ -993,9 +993,9 @@ The server SHOULD support these, but is not required.
94B2 SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
+58B3 SHOULD use 4xx or 5xx status codes on array {extensions} parameter when accepting application/json
{
"statusText": "OK",
"status": 200,
@@ -1027,9 +1027,9 @@ The server SHOULD support these, but is not required.
865D SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -1061,7 +1061,7 @@ The server SHOULD support these, but is not required.
556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
+74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
{
@@ -1095,9 +1095,9 @@ The server SHOULD support these, but is not required.
51FE SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
@@ -1129,9 +1129,14 @@ The server SHOULD support these, but is not required.
74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
+22EB MUST accept application/graphql-response+json and match the content-type
{
"statusText": "OK",
"status": 200,
@@ -1163,9 +1168,9 @@ The server SHOULD support these, but is not required.
86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json
+13EE MUST allow string {query} parameter when accepting application/json
{
"statusText": "OK",
"status": 200,
@@ -1197,12 +1202,7 @@ The server SHOULD support these, but is not required.
13EE MUST allow string {query} parameter when accepting application/json
+B8B3 MUST allow string {operationName} parameter when accepting application/json
{
@@ -1236,7 +1236,7 @@ The server MUST support these.
B8B3 MUST allow string {operationName} parameter when accepting application/json
+94B0 MUST allow null {variables} parameter when accepting application/graphql-response+json
{
@@ -1304,6 +1304,40 @@ The server MUST support these.
94B1 MUST allow null {operationName} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "vary": "Accept-Encoding",
+ "transfer-encoding": "chunked",
+ "set-cookie": "",
+ "server": "cloudflare",
+ "last-modified": "Mon, 02 Dec 2024 20:56:39 GMT",
+ "expires": "",
+ "etag": "W/\"cffa996b9fb9470d034909269c4d8d0f\"",
+ "date": "",
+ "content-type": "application/json",
+ "content-encoding": "br",
+ "connection": "keep-alive",
+ "cf-ray": "",
+ "cf-cache-status": "HIT",
+ "cache-control": "public, max-age=3600",
+ "age": ""
+ },
+ "body": {
+ "errors": [
+ {
+ "message": "This endpoint has been removed. If you have any questions, reach out to support@thegraph.zendesk.com"
+ }
+ ]
+ }
+}
+
+0221 MUST allow null {operationName} parameter when accepting application/json
94B2 MUST allow null {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "vary": "Accept-Encoding",
+ "transfer-encoding": "chunked",
+ "set-cookie": "",
+ "server": "cloudflare",
+ "last-modified": "Mon, 02 Dec 2024 20:56:39 GMT",
+ "expires": "",
+ "etag": "W/\"cffa996b9fb9470d034909269c4d8d0f\"",
+ "date": "",
+ "content-type": "application/json",
+ "content-encoding": "br",
+ "connection": "keep-alive",
+ "cf-ray": "",
+ "cf-cache-status": "HIT",
+ "cache-control": "public, max-age=3600",
+ "age": ""
+ },
+ "body": {
+ "errors": [
+ {
+ "message": "This endpoint has been removed. If you have any questions, reach out to support@thegraph.zendesk.com"
+ }
+ ]
+ }
+}
+
+0222 MUST allow null {extensions} parameter when accepting application/json
0280 MUST use 4xx or 5xx status codes on string {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "vary": "Accept-Encoding",
+ "transfer-encoding": "chunked",
+ "set-cookie": "",
+ "server": "cloudflare",
+ "last-modified": "Mon, 02 Dec 2024 20:56:39 GMT",
+ "expires": "",
+ "etag": "W/\"cffa996b9fb9470d034909269c4d8d0f\"",
+ "date": "",
+ "content-type": "application/json",
+ "content-encoding": "br",
+ "connection": "keep-alive",
+ "cf-ray": "",
+ "cf-cache-status": "HIT",
+ "cache-control": "public, max-age=3600",
+ "age": ""
+ },
+ "body": {
+ "errors": [
+ {
+ "message": "This endpoint has been removed. If you have any questions, reach out to support@thegraph.zendesk.com"
+ }
+ ]
+ }
+}
+
+0281 MUST use 4xx or 5xx status codes on number {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "vary": "Accept-Encoding",
+ "transfer-encoding": "chunked",
+ "set-cookie": "",
+ "server": "cloudflare",
+ "last-modified": "Mon, 02 Dec 2024 20:56:39 GMT",
+ "expires": "",
+ "etag": "W/\"cffa996b9fb9470d034909269c4d8d0f\"",
+ "date": "",
+ "content-type": "application/json",
+ "content-encoding": "br",
+ "connection": "keep-alive",
+ "cf-ray": "",
+ "cf-cache-status": "HIT",
+ "cache-control": "public, max-age=3600",
+ "age": ""
+ },
+ "body": {
+ "errors": [
+ {
+ "message": "This endpoint has been removed. If you have any questions, reach out to support@thegraph.zendesk.com"
+ }
+ ]
+ }
+}
+
+0282 MUST use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "vary": "Accept-Encoding",
+ "transfer-encoding": "chunked",
+ "set-cookie": "",
+ "server": "cloudflare",
+ "last-modified": "Mon, 02 Dec 2024 20:56:39 GMT",
+ "expires": "",
+ "etag": "W/\"cffa996b9fb9470d034909269c4d8d0f\"",
+ "date": "",
+ "content-type": "application/json",
+ "content-encoding": "br",
+ "connection": "keep-alive",
+ "cf-ray": "",
+ "cf-cache-status": "HIT",
+ "cache-control": "public, max-age=3600",
+ "age": ""
+ },
+ "body": {
+ "errors": [
+ {
+ "message": "This endpoint has been removed. If you have any questions, reach out to support@thegraph.zendesk.com"
+ }
+ ]
+ }
+}
+
+0283 MUST use 4xx or 5xx status codes on array {extensions} parameter when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "vary": "Accept-Encoding",
+ "transfer-encoding": "chunked",
+ "set-cookie": "",
+ "server": "cloudflare",
+ "last-modified": "Mon, 02 Dec 2024 20:56:39 GMT",
+ "expires": "",
+ "etag": "W/\"cffa996b9fb9470d034909269c4d8d0f\"",
+ "date": "",
+ "content-type": "application/json",
+ "content-encoding": "br",
+ "connection": "keep-alive",
+ "cf-ray": "",
+ "cf-cache-status": "HIT",
+ "cache-control": "public, max-age=3600",
+ "age": ""
+ },
+ "body": {
+ "errors": [
+ {
+ "message": "This endpoint has been removed. If you have any questions, reach out to support@thegraph.zendesk.com"
+ }
+ ]
+ }
+}
+
+1B7A MUST allow map {extensions} parameter when accepting application/json
865D MUST use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "vary": "Accept-Encoding",
+ "transfer-encoding": "chunked",
+ "set-cookie": "",
+ "server": "cloudflare",
+ "last-modified": "Mon, 02 Dec 2024 20:56:39 GMT",
+ "expires": "",
+ "etag": "W/\"cffa996b9fb9470d034909269c4d8d0f\"",
+ "date": "",
+ "content-type": "application/json",
+ "content-encoding": "br",
+ "connection": "keep-alive",
+ "cf-ray": "",
+ "cf-cache-status": "HIT",
+ "cache-control": "public, max-age=3600",
+ "age": ""
+ },
+ "body": {
+ "errors": [
+ {
+ "message": "This endpoint has been removed. If you have any questions, reach out to support@thegraph.zendesk.com"
+ }
+ ]
+ }
+}
+
+51FE MUST use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
+{
+ "statusText": "OK",
+ "status": 200,
+ "headers": {
+ "vary": "Accept-Encoding",
+ "transfer-encoding": "chunked",
+ "set-cookie": "",
+ "server": "cloudflare",
+ "last-modified": "Mon, 02 Dec 2024 20:56:39 GMT",
+ "expires": "",
+ "etag": "W/\"cffa996b9fb9470d034909269c4d8d0f\"",
+ "date": "",
+ "content-type": "application/json",
+ "content-encoding": "br",
+ "connection": "keep-alive",
+ "cf-ray": "",
+ "cf-cache-status": "HIT",
+ "cache-control": "public, max-age=3600",
+ "age": ""
+ },
+ "body": {
+ "errors": [
+ {
+ "message": "This endpoint has been removed. If you have any questions, reach out to support@thegraph.zendesk.com"
+ }
+ ]
+ }
+}
+
+