Skip to content

Commit f386976

Browse files
docs(implementations): audit report [skip ci]
1 parent 42c26f7 commit f386976

File tree

7 files changed

+260
-256
lines changed

7 files changed

+260
-256
lines changed

implementations/apollo-server/README.md

Lines changed: 44 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -2,54 +2,55 @@ _* This report was auto-generated by graphql-http_
22

33
# GraphQL over HTTP audit report
44

5-
- **72** audits in total
6-
-**42** pass
5+
- **73** audits in total
6+
-**44** pass
77
- ⚠️ **29** warnings (optional)
8-
-**1** errors (required)
98

109
## Passing
1110
1. MUST accept application/json and match the content-type
1211
2. MUST use utf-8 encoding when responding
13-
3. MUST accept POST requests
14-
4. MAY accept application/x-www-form-urlencoded formatted GET requests
15-
5. MUST NOT allow executing mutations on GET requests
16-
6. SHOULD respond with 4xx status code if content-type is not supplied on POST requests
17-
7. MUST accept application/json POST requests
18-
8. MUST require a request body on POST
19-
9. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
20-
10. SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
21-
11. SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
22-
12. SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
23-
13. SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
24-
14. SHOULD allow string {query} parameter when accepting application/graphql-response+json
25-
15. MUST allow string {query} parameter when accepting application/json
26-
16. SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
27-
17. SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
28-
18. SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
29-
19. SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
30-
20. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
31-
21. MUST allow string {operationName} parameter when accepting application/json
32-
22. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
33-
23. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
34-
24. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
35-
25. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
36-
26. MUST allow map {variables} parameter when accepting application/json
37-
27. SHOULD allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
38-
28. MUST allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
39-
29. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
40-
30. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
41-
31. MUST allow map {extensions} parameter when accepting application/json
42-
32. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
43-
33. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
44-
34. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
45-
35. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
46-
36. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
47-
37. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
48-
38. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
49-
39. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
50-
40. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
51-
41. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
52-
42. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
12+
3. MUST accept utf-8 encoding
13+
4. MUST assume utf-8 if encoding is unspecified
14+
5. MUST accept POST requests
15+
6. MAY accept application/x-www-form-urlencoded formatted GET requests
16+
7. MUST NOT allow executing mutations on GET requests
17+
8. SHOULD respond with 4xx status code if content-type is not supplied on POST requests
18+
9. MUST accept application/json POST requests
19+
10. MUST require a request body on POST
20+
11. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json
21+
12. SHOULD use 400 status code on object {query} parameter when accepting application/graphql-response+json
22+
13. SHOULD use 400 status code on number {query} parameter when accepting application/graphql-response+json
23+
14. SHOULD use 400 status code on boolean {query} parameter when accepting application/graphql-response+json
24+
15. SHOULD use 400 status code on array {query} parameter when accepting application/graphql-response+json
25+
16. SHOULD allow string {query} parameter when accepting application/graphql-response+json
26+
17. MUST allow string {query} parameter when accepting application/json
27+
18. SHOULD use 400 status code on object {operationName} parameter when accepting application/graphql-response+json
28+
19. SHOULD use 400 status code on number {operationName} parameter when accepting application/graphql-response+json
29+
20. SHOULD use 400 status code on boolean {operationName} parameter when accepting application/graphql-response+json
30+
21. SHOULD use 400 status code on array {operationName} parameter when accepting application/graphql-response+json
31+
22. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
32+
23. MUST allow string {operationName} parameter when accepting application/json
33+
24. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
34+
25. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
35+
26. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
36+
27. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
37+
28. MUST allow map {variables} parameter when accepting application/json
38+
29. SHOULD allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
39+
30. MUST allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
40+
31. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
41+
32. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
42+
33. MUST allow map {extensions} parameter when accepting application/json
43+
34. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
44+
35. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
45+
36. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
46+
37. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
47+
38. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
48+
39. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
49+
40. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
50+
41. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
51+
42. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
52+
43. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
53+
44. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
5354

5455
## Warnings
5556
The server _SHOULD_ support these, but is not required.
@@ -170,9 +171,3 @@ Status code 400 is not 200
170171
Response body is not valid JSON. Got "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<title>Error</title>\n</head>\n<body>\n<pre>SyntaxError: Unexpected end of JSON input<br> &nbsp; &nbsp;at JSON.parse (&lt;anonymous&gt;)<br> &nbsp; &nbsp;at parse (/home/runner/work/graphql-http/graphql-http/node_modules/body-parser/lib/types/json.js:89:19)<br> &nbsp; &nbsp;at /home/runner/work/graphql-http/graphql-http/node_modules/body-parser/lib/read.js:128:18<br> &nbsp; &nbsp;at AsyncResource.runInAsyncScope (node:async_hooks:203:9)<br> &nbsp; &nbsp;at invokeCallback (/home/runner/work/graphql-http/graphql-http/node_modules/raw-body/index.js:231:16)<br> &nbsp; &nbsp;at done (/home/runner/work/graphql-http/graphql-http/node_modules/raw-body/index.js:220:7)<br> &nbsp; &nbsp;at IncomingMessage.onEnd (/home/runner/work/graphql-http/graphql-http/node_modules/raw-body/index.js:280:7)<br> &nbsp; &nbsp;at IncomingMessage.emit (node:events:513:28)<br> &nbsp; &nbsp;at endReadableNT (node:internal/streams/rea...
171172
```
172173

173-
## Errors
174-
The server _MUST_ support these.
175-
1. MUST accept only utf-8 charset<br />
176-
```
177-
Execution result {"data":{"__typename":"Query"}} does not have a property 'errors'
178-
```

implementations/express-graphql/README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ _* This report was auto-generated by graphql-http_
22

33
# GraphQL over HTTP audit report
44

5-
- **72** audits in total
5+
- **73** audits in total
66
-**36** pass
77
- ⚠️ **35** warnings (optional)
8-
-**1** errors (required)
8+
-**2** errors (required)
99

1010
## Passing
1111
1. MUST accept application/json and match the content-type
@@ -190,7 +190,11 @@ Status code 400 is not 200
190190

191191
## Errors
192192
The server _MUST_ support these.
193-
1. MUST accept only utf-8 charset<br />
193+
1. MUST accept utf-8 encoding<br />
194194
```
195-
Execution result {"data":{"__typename":"Query"}} does not have a property 'errors'
195+
Status code 400 is not 200
196+
```
197+
2. MUST assume utf-8 if encoding is unspecified<br />
198+
```
199+
Status code 400 is not 200
196200
```

0 commit comments

Comments
 (0)