Skip to content

Commit

Permalink
fix: Keep headers in default options
Browse files Browse the repository at this point in the history
  • Loading branch information
xxuejie committed Feb 1, 2021
1 parent 0dba16a commit 3eaa7f0
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 23 deletions.
2 changes: 1 addition & 1 deletion dist/ckb-js-toolkit.esm.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/ckb-js-toolkit.node.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/ckb-js-toolkit.node.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/ckb-js-toolkit.umd.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
@@ -1,6 +1,6 @@
{
"name": "ckb-js-toolkit",
"version": "0.10.1",
"version": "0.10.2",
"description": "JavaScript toolkits used to build dapps for Nervos CKB",
"main": "dist/ckb-js-toolkit.node.js",
"browser": "dist/ckb-js-toolkit.esm.js",
Expand Down
52 changes: 35 additions & 17 deletions src/rpc.js
@@ -1,19 +1,34 @@
import fetch from "cross-fetch";
import JSBI from "jsbi";

function mergeOptions(overrideOptions, defaultOptions) {
defaultOptions = defaultOptions || {};
const headers = Object.assign(
{},
defaultOptions.headers || {},
overrideOptions.headers || {}
);
return Object.assign({}, defaultOptions, overrideOptions, {
headers: headers
});
}

const batchHandler = {
get: (target, method, receiver) => {
if (method === "send") {
return async () => {
const response = await fetch(
target.uri,
Object.assign({}, target.defaultOptions, {
method: "post",
headers: {
"Content-Type": "application/json"
mergeOptions(
{
method: "post",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(target.payload)
},
body: JSON.stringify(target.payload)
})
target.defaultOptions
)
);
return await response.json();
};
Expand Down Expand Up @@ -51,18 +66,21 @@ const handler = {
const id = Math.round(Math.random() * 10000000);
const response = await fetch(
target.uri,
Object.assign({}, target.defaultOptions, {
method: "post",
headers: {
"Content-Type": "application/json"
mergeOptions(
{
method: "post",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
jsonrpc: "2.0",
id: id,
method: method,
params: params
})
},
body: JSON.stringify({
jsonrpc: "2.0",
id: id,
method: method,
params: params
})
})
target.defaultOptions
)
);
const data = await response.json();
if (data.id !== id) {
Expand Down

0 comments on commit 3eaa7f0

Please sign in to comment.