@lodestar/api 1.20.0-dev.f8593a9a81 → 1.20.0-dev.fe23f68998

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +1 -1
  2. package/lib/beacon/client/events.js +2 -1
  3. package/lib/beacon/client/events.js.map +1 -1
  4. package/lib/beacon/routes/beacon/block.d.ts +14 -13
  5. package/lib/beacon/routes/beacon/block.js +23 -31
  6. package/lib/beacon/routes/beacon/block.js.map +1 -1
  7. package/lib/beacon/routes/debug.d.ts +9 -28
  8. package/lib/beacon/routes/debug.js +9 -43
  9. package/lib/beacon/routes/debug.js.map +1 -1
  10. package/lib/beacon/routes/events.d.ts +4 -4
  11. package/lib/beacon/routes/events.js +1 -1
  12. package/lib/beacon/routes/events.js.map +1 -1
  13. package/lib/beacon/routes/lightclient.d.ts +5 -5
  14. package/lib/beacon/routes/lightclient.js +1 -1
  15. package/lib/beacon/routes/lightclient.js.map +1 -1
  16. package/lib/beacon/routes/validator.d.ts +7 -35
  17. package/lib/beacon/routes/validator.js +3 -29
  18. package/lib/beacon/routes/validator.js.map +1 -1
  19. package/lib/builder/routes.d.ts +4 -4
  20. package/lib/builder/routes.js +4 -4
  21. package/lib/builder/routes.js.map +1 -1
  22. package/lib/index.d.ts +1 -0
  23. package/lib/index.js +1 -0
  24. package/lib/index.js.map +1 -1
  25. package/lib/utils/client/request.js +2 -2
  26. package/lib/utils/client/request.js.map +1 -1
  27. package/lib/utils/client/response.d.ts +1 -0
  28. package/lib/utils/client/response.js +15 -14
  29. package/lib/utils/client/response.js.map +1 -1
  30. package/lib/utils/fork.d.ts +5 -6
  31. package/lib/utils/fork.js +5 -11
  32. package/lib/utils/fork.js.map +1 -1
  33. package/lib/utils/headers.d.ts +1 -1
  34. package/lib/utils/headers.js +19 -20
  35. package/lib/utils/headers.js.map +1 -1
  36. package/lib/utils/server/handler.js +33 -27
  37. package/lib/utils/server/handler.js.map +1 -1
  38. package/package.json +6 -6
@@ -72,30 +72,29 @@ export function setAuthorizationHeader(url, headers, { bearerToken }) {
72
72
  url.password = "";
73
73
  }
74
74
  }
75
- export function mergeHeaders(a, b) {
76
- if (!a) {
77
- return new Headers(b);
78
- }
79
- const headers = new Headers(a);
80
- if (!b) {
81
- return headers;
82
- }
83
- if (Array.isArray(b)) {
84
- for (const [key, value] of b) {
85
- headers.set(key, value);
75
+ export function mergeHeaders(...headersList) {
76
+ const mergedHeaders = new Headers();
77
+ for (const headers of headersList) {
78
+ if (!headers) {
79
+ continue;
86
80
  }
87
- }
88
- else if (b instanceof Headers) {
89
- for (const [key, value] of b) {
90
- headers.set(key, value);
81
+ if (Array.isArray(headers)) {
82
+ for (const [key, value] of headers) {
83
+ mergedHeaders.set(key, value);
84
+ }
91
85
  }
92
- }
93
- else {
94
- for (const [key, value] of Object.entries(b)) {
95
- headers.set(key, value);
86
+ else if (headers instanceof Headers) {
87
+ for (const [key, value] of headers) {
88
+ mergedHeaders.set(key, value);
89
+ }
90
+ }
91
+ else {
92
+ for (const [key, value] of Object.entries(headers)) {
93
+ mergedHeaders.set(key, value);
94
+ }
96
95
  }
97
96
  }
98
- return headers;
97
+ return mergedHeaders;
99
98
  }
100
99
  /**
101
100
  * Get header from request headers, by default an error will be thrown if the header
@@ -1 +1 @@
1
- {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/utils/headers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/utils/headers.ts"],"names":[],"mappings":"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"}
@@ -25,16 +25,18 @@ export function createFastifyHandler(definition, method, _operationId) {
25
25
  }
26
26
  }
27
27
  const responseWireFormat = responseMediaType !== null ? getWireFormat(responseMediaType) : null;
28
- let response;
29
- try {
30
- if (isRequestWithoutBody(definition)) {
31
- response = await method(definition.req.parseReq(req), {
32
- sszBytes: null,
33
- returnBytes: responseWireFormat === WireFormat.ssz,
34
- });
28
+ let requestWireFormat;
29
+ if (isRequestWithoutBody(definition)) {
30
+ requestWireFormat = null;
31
+ }
32
+ else {
33
+ const contentType = req.headers[HttpHeader.ContentType];
34
+ if (contentType === undefined && req.body === undefined) {
35
+ // Default to json parser if body is omitted. This is not possible for most
36
+ // routes as request will fail schema validation before this handler is called
37
+ requestWireFormat = WireFormat.json;
35
38
  }
36
39
  else {
37
- const contentType = req.headers[HttpHeader.ContentType];
38
40
  if (contentType === undefined) {
39
41
  throw new ApiError(400, "Content-Type header is required");
40
42
  }
@@ -42,25 +44,25 @@ export function createFastifyHandler(definition, method, _operationId) {
42
44
  if (requestMediaType === null) {
43
45
  throw new ApiError(415, `Unsupported media type: ${contentType.split(";", 1)[0]}`);
44
46
  }
45
- const requestWireFormat = getWireFormat(requestMediaType);
46
- const { onlySupport } = definition.req;
47
- if (onlySupport !== undefined && onlySupport !== requestWireFormat) {
48
- throw new ApiError(415, `Endpoint only supports ${onlySupport.toUpperCase()} requests`);
49
- }
50
- switch (requestWireFormat) {
51
- case WireFormat.json:
52
- response = await method(definition.req.parseReqJson(req), {
53
- sszBytes: null,
54
- returnBytes: responseWireFormat === WireFormat.ssz,
55
- });
56
- break;
57
- case WireFormat.ssz:
58
- response = await method(definition.req.parseReqSsz(req), {
59
- sszBytes: req.body,
60
- returnBytes: responseWireFormat === WireFormat.ssz,
61
- });
62
- break;
63
- }
47
+ requestWireFormat = getWireFormat(requestMediaType);
48
+ }
49
+ const { onlySupport } = definition.req;
50
+ if (onlySupport !== undefined && onlySupport !== requestWireFormat) {
51
+ throw new ApiError(415, `Endpoint only supports ${onlySupport.toUpperCase()} requests`);
52
+ }
53
+ }
54
+ let args;
55
+ try {
56
+ switch (requestWireFormat) {
57
+ case WireFormat.json:
58
+ args = definition.req.parseReqJson(req);
59
+ break;
60
+ case WireFormat.ssz:
61
+ args = definition.req.parseReqSsz(req);
62
+ break;
63
+ case null:
64
+ args = definition.req.parseReq(req);
65
+ break;
64
66
  }
65
67
  }
66
68
  catch (e) {
@@ -69,6 +71,10 @@ export function createFastifyHandler(definition, method, _operationId) {
69
71
  // Errors related to parsing should return 400 status code
70
72
  throw new ApiError(400, e.message);
71
73
  }
74
+ const response = await method(args, {
75
+ sszBytes: requestWireFormat === WireFormat.ssz ? req.body : null,
76
+ returnBytes: responseWireFormat === WireFormat.ssz,
77
+ });
72
78
  if (response?.status !== undefined) {
73
79
  resp.statusCode = response.status;
74
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/utils/server/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/utils/server/handler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.20.0-dev.f8593a9a81",
14
+ "version": "1.20.0-dev.fe23f68998",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -72,10 +72,10 @@
72
72
  "dependencies": {
73
73
  "@chainsafe/persistent-merkle-tree": "^0.7.1",
74
74
  "@chainsafe/ssz": "^0.15.1",
75
- "@lodestar/config": "1.20.0-dev.f8593a9a81",
76
- "@lodestar/params": "1.20.0-dev.f8593a9a81",
77
- "@lodestar/types": "1.20.0-dev.f8593a9a81",
78
- "@lodestar/utils": "1.20.0-dev.f8593a9a81",
75
+ "@lodestar/config": "1.20.0-dev.fe23f68998",
76
+ "@lodestar/params": "1.20.0-dev.fe23f68998",
77
+ "@lodestar/types": "1.20.0-dev.fe23f68998",
78
+ "@lodestar/utils": "1.20.0-dev.fe23f68998",
79
79
  "eventsource": "^2.0.2",
80
80
  "qs": "^6.11.1"
81
81
  },
@@ -92,5 +92,5 @@
92
92
  "api",
93
93
  "blockchain"
94
94
  ],
95
- "gitHead": "2f813cb27859d0f84767881d110d5fd14c880bbc"
95
+ "gitHead": "5cdfe5c1392e879a92a0da88142defd9ee3854a7"
96
96
  }