@lodestar/api 1.20.0-dev.3be656bb22 → 1.20.0-dev.48e6bac36b
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.
- package/README.md +9 -16
- package/lib/beacon/client/events.js +2 -1
- package/lib/beacon/client/events.js.map +1 -1
- package/lib/beacon/routes/beacon/block.d.ts +14 -13
- package/lib/beacon/routes/beacon/block.js +23 -31
- package/lib/beacon/routes/beacon/block.js.map +1 -1
- package/lib/beacon/routes/debug.d.ts +9 -28
- package/lib/beacon/routes/debug.js +9 -43
- package/lib/beacon/routes/debug.js.map +1 -1
- package/lib/beacon/routes/events.d.ts +4 -4
- package/lib/beacon/routes/events.js +1 -1
- package/lib/beacon/routes/events.js.map +1 -1
- package/lib/beacon/routes/lightclient.d.ts +5 -5
- package/lib/beacon/routes/lightclient.js +1 -1
- package/lib/beacon/routes/lightclient.js.map +1 -1
- package/lib/beacon/routes/validator.d.ts +7 -35
- package/lib/beacon/routes/validator.js +3 -29
- package/lib/beacon/routes/validator.js.map +1 -1
- package/lib/builder/routes.d.ts +4 -4
- package/lib/builder/routes.js +5 -5
- package/lib/builder/routes.js.map +1 -1
- package/lib/utils/client/response.d.ts +1 -0
- package/lib/utils/client/response.js +15 -14
- package/lib/utils/client/response.js.map +1 -1
- package/lib/utils/fork.d.ts +5 -6
- package/lib/utils/fork.js +5 -11
- package/lib/utils/fork.js.map +1 -1
- package/lib/utils/server/handler.js +33 -27
- package/lib/utils/server/handler.js.map +1 -1
- package/package.json +7 -7
|
@@ -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
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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":"AAEA,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,sBAAsB,EAAC,MAAM,eAAe,CAAC;AACtH,OAAO,EASL,oBAAoB,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/utils/server/handler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lodestar/api",
|
|
3
|
-
"description": "A Typescript
|
|
3
|
+
"description": "A Typescript REST client for the Ethereum Consensus API",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "ChainSafe Systems",
|
|
6
6
|
"homepage": "https://github.com/ChainSafe/lodestar#readme",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/ChainSafe/lodestar/issues"
|
|
13
13
|
},
|
|
14
|
-
"version": "1.20.0-dev.
|
|
14
|
+
"version": "1.20.0-dev.48e6bac36b",
|
|
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.
|
|
76
|
-
"@lodestar/params": "1.20.0-dev.
|
|
77
|
-
"@lodestar/types": "1.20.0-dev.
|
|
78
|
-
"@lodestar/utils": "1.20.0-dev.
|
|
75
|
+
"@lodestar/config": "1.20.0-dev.48e6bac36b",
|
|
76
|
+
"@lodestar/params": "1.20.0-dev.48e6bac36b",
|
|
77
|
+
"@lodestar/types": "1.20.0-dev.48e6bac36b",
|
|
78
|
+
"@lodestar/utils": "1.20.0-dev.48e6bac36b",
|
|
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": "
|
|
95
|
+
"gitHead": "6b4cbeae14705d7f2a638aeae3315dd14d94901c"
|
|
96
96
|
}
|