|
3 | 3 | <h1>GraphQL over HTTP audit report</h1>
|
4 | 4 |
|
5 | 5 | <ul>
|
6 |
| -<li><b>60</b> audits in total</li> |
7 |
| -<li><span style="font-family: monospace">✅</span> <b>29</b> pass</li> |
| 6 | +<li><b>68</b> audits in total</li> |
| 7 | +<li><span style="font-family: monospace">✅</span> <b>37</b> pass</li> |
8 | 8 | <li><span style="font-family: monospace">💡</span> <b>14</b> notices (suggestions)</li>
|
9 |
| -<li><span style="font-family: monospace">❗️</span> <b>5</b> warnings (optional)</li> |
10 |
| -<li><span style="font-family: monospace">❌</span> <b>12</b> errors (required)</li> |
| 9 | +<li><span style="font-family: monospace">❗️</span> <b>9</b> warnings (optional)</li> |
| 10 | +<li><span style="font-family: monospace">❌</span> <b>8</b> errors (required)</li> |
11 | 11 | </ul>
|
12 | 12 |
|
13 | 13 | <h2>Passing</h2>
|
|
33 | 33 | <li><code>4761</code> MAY use 400 status code on number {variables} parameter</li>
|
34 | 34 | <li><code>4762</code> MAY use 400 status code on boolean {variables} parameter</li>
|
35 | 35 | <li><code>28B9</code> MUST allow map {variables} parameter when accepting application/json</li>
|
| 36 | +<li><code>0280</code> MUST use 4xx or 5xx status codes on string {extensions} parameter when accepting application/graphql-response+json</li> |
| 37 | +<li><code>0281</code> MUST use 4xx or 5xx status codes on number {extensions} parameter when accepting application/graphql-response+json</li> |
| 38 | +<li><code>0282</code> MUST use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/graphql-response+json</li> |
| 39 | +<li><code>0283</code> MUST use 4xx or 5xx status codes on array {extensions} parameter when accepting application/graphql-response+json</li> |
| 40 | +<li><code>2330</code> SHOULD use 4xx status code on string {extensions} parameter when accepting application/graphql-response+json</li> |
| 41 | +<li><code>2331</code> SHOULD use 4xx status code on number {extensions} parameter when accepting application/graphql-response+json</li> |
| 42 | +<li><code>2332</code> SHOULD use 4xx status code on boolean {extensions} parameter when accepting application/graphql-response+json</li> |
| 43 | +<li><code>2333</code> SHOULD use 4xx status code on array {extensions} parameter when accepting application/graphql-response+json</li> |
36 | 44 | <li><code>1B7A</code> MUST allow map {extensions} parameter when accepting application/json</li>
|
37 | 45 | <li><code>B6DC</code> MAY use 4xx or 5xx status codes on JSON parsing failure</li>
|
38 | 46 | <li><code>BCF8</code> MAY use 400 status code on JSON parsing failure</li>
|
@@ -365,6 +373,94 @@ The server <i>MAY</i> support these, but are truly optional. These are suggestio
|
365 | 373 | <h2>Warnings</h2>
|
366 | 374 | The server <i>SHOULD</i> support these, but is not required.
|
367 | 375 | <ol>
|
| 376 | +<li><code>58B0</code> SHOULD use 4xx or 5xx status codes on string {extensions} parameter when accepting application/json |
| 377 | +<details> |
| 378 | +<summary>Response status is not between 400 and 599</summary> |
| 379 | +<pre><code class="lang-json">{ |
| 380 | + "statusText": "OK", |
| 381 | + "status": 200, |
| 382 | + "headers": { |
| 383 | + "vary": "Accept-Encoding", |
| 384 | + "date": "<timestamp>", |
| 385 | + "content-type": "application/json", |
| 386 | + "content-length": "59", |
| 387 | + "content-encoding": "gzip" |
| 388 | + }, |
| 389 | + "body": { |
| 390 | + "data": { |
| 391 | + "__typename": "Query" |
| 392 | + } |
| 393 | + } |
| 394 | +} |
| 395 | +</code></pre> |
| 396 | +</details> |
| 397 | +</li> |
| 398 | +<li><code>58B1</code> SHOULD use 4xx or 5xx status codes on number {extensions} parameter when accepting application/json |
| 399 | +<details> |
| 400 | +<summary>Response status is not between 400 and 599</summary> |
| 401 | +<pre><code class="lang-json">{ |
| 402 | + "statusText": "OK", |
| 403 | + "status": 200, |
| 404 | + "headers": { |
| 405 | + "vary": "Accept-Encoding", |
| 406 | + "date": "<timestamp>", |
| 407 | + "content-type": "application/json", |
| 408 | + "content-length": "59", |
| 409 | + "content-encoding": "gzip" |
| 410 | + }, |
| 411 | + "body": { |
| 412 | + "data": { |
| 413 | + "__typename": "Query" |
| 414 | + } |
| 415 | + } |
| 416 | +} |
| 417 | +</code></pre> |
| 418 | +</details> |
| 419 | +</li> |
| 420 | +<li><code>58B2</code> SHOULD use 4xx or 5xx status codes on boolean {extensions} parameter when accepting application/json |
| 421 | +<details> |
| 422 | +<summary>Response status is not between 400 and 599</summary> |
| 423 | +<pre><code class="lang-json">{ |
| 424 | + "statusText": "OK", |
| 425 | + "status": 200, |
| 426 | + "headers": { |
| 427 | + "vary": "Accept-Encoding", |
| 428 | + "date": "<timestamp>", |
| 429 | + "content-type": "application/json", |
| 430 | + "content-length": "59", |
| 431 | + "content-encoding": "gzip" |
| 432 | + }, |
| 433 | + "body": { |
| 434 | + "data": { |
| 435 | + "__typename": "Query" |
| 436 | + } |
| 437 | + } |
| 438 | +} |
| 439 | +</code></pre> |
| 440 | +</details> |
| 441 | +</li> |
| 442 | +<li><code>58B3</code> SHOULD use 4xx or 5xx status codes on array {extensions} parameter when accepting application/json |
| 443 | +<details> |
| 444 | +<summary>Response status is not between 400 and 599</summary> |
| 445 | +<pre><code class="lang-json">{ |
| 446 | + "statusText": "OK", |
| 447 | + "status": 200, |
| 448 | + "headers": { |
| 449 | + "vary": "Accept-Encoding", |
| 450 | + "date": "<timestamp>", |
| 451 | + "content-type": "application/json", |
| 452 | + "content-length": "59", |
| 453 | + "content-encoding": "gzip" |
| 454 | + }, |
| 455 | + "body": { |
| 456 | + "data": { |
| 457 | + "__typename": "Query" |
| 458 | + } |
| 459 | + } |
| 460 | +} |
| 461 | +</code></pre> |
| 462 | +</details> |
| 463 | +</li> |
368 | 464 | <li><code>556A</code> SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
|
369 | 465 | <details>
|
370 | 466 | <summary>Response status code is not 400</summary>
|
@@ -574,94 +670,6 @@ The server <b>MUST</b> support these.
|
574 | 670 | </code></pre>
|
575 | 671 | </details>
|
576 | 672 | </li>
|
577 |
| -<li><code>58B0</code> MUST use 400 status code on string {extensions} parameter |
578 |
| -<details> |
579 |
| -<summary>Response status code is not 400</summary> |
580 |
| -<pre><code class="lang-json">{ |
581 |
| - "statusText": "OK", |
582 |
| - "status": 200, |
583 |
| - "headers": { |
584 |
| - "vary": "Accept-Encoding", |
585 |
| - "date": "<timestamp>", |
586 |
| - "content-type": "application/json", |
587 |
| - "content-length": "59", |
588 |
| - "content-encoding": "gzip" |
589 |
| - }, |
590 |
| - "body": { |
591 |
| - "data": { |
592 |
| - "__typename": "Query" |
593 |
| - } |
594 |
| - } |
595 |
| -} |
596 |
| -</code></pre> |
597 |
| -</details> |
598 |
| -</li> |
599 |
| -<li><code>58B1</code> MUST use 400 status code on number {extensions} parameter |
600 |
| -<details> |
601 |
| -<summary>Response status code is not 400</summary> |
602 |
| -<pre><code class="lang-json">{ |
603 |
| - "statusText": "OK", |
604 |
| - "status": 200, |
605 |
| - "headers": { |
606 |
| - "vary": "Accept-Encoding", |
607 |
| - "date": "<timestamp>", |
608 |
| - "content-type": "application/json", |
609 |
| - "content-length": "59", |
610 |
| - "content-encoding": "gzip" |
611 |
| - }, |
612 |
| - "body": { |
613 |
| - "data": { |
614 |
| - "__typename": "Query" |
615 |
| - } |
616 |
| - } |
617 |
| -} |
618 |
| -</code></pre> |
619 |
| -</details> |
620 |
| -</li> |
621 |
| -<li><code>58B2</code> MUST use 400 status code on boolean {extensions} parameter |
622 |
| -<details> |
623 |
| -<summary>Response status code is not 400</summary> |
624 |
| -<pre><code class="lang-json">{ |
625 |
| - "statusText": "OK", |
626 |
| - "status": 200, |
627 |
| - "headers": { |
628 |
| - "vary": "Accept-Encoding", |
629 |
| - "date": "<timestamp>", |
630 |
| - "content-type": "application/json", |
631 |
| - "content-length": "59", |
632 |
| - "content-encoding": "gzip" |
633 |
| - }, |
634 |
| - "body": { |
635 |
| - "data": { |
636 |
| - "__typename": "Query" |
637 |
| - } |
638 |
| - } |
639 |
| -} |
640 |
| -</code></pre> |
641 |
| -</details> |
642 |
| -</li> |
643 |
| -<li><code>58B3</code> MUST use 400 status code on array {extensions} parameter |
644 |
| -<details> |
645 |
| -<summary>Response status code is not 400</summary> |
646 |
| -<pre><code class="lang-json">{ |
647 |
| - "statusText": "OK", |
648 |
| - "status": 200, |
649 |
| - "headers": { |
650 |
| - "vary": "Accept-Encoding", |
651 |
| - "date": "<timestamp>", |
652 |
| - "content-type": "application/json", |
653 |
| - "content-length": "59", |
654 |
| - "content-encoding": "gzip" |
655 |
| - }, |
656 |
| - "body": { |
657 |
| - "data": { |
658 |
| - "__typename": "Query" |
659 |
| - } |
660 |
| - } |
661 |
| -} |
662 |
| -</code></pre> |
663 |
| -</details> |
664 |
| -</li> |
665 | 673 | <li><code>428F</code> MUST allow map {extensions} parameter when accepting application/graphql-response+json
|
666 | 674 | <details>
|
667 | 675 | <summary>Response status code is not 200</summary>
|
|
0 commit comments