bugfix (floBlockchainAPI_v2.0.1d)

floBlockchainAPI_v2.0.1d
- fetch_retry removes incorrect uri when parallel requests are called.
This commit is contained in:
sairajzero 2021-06-06 17:10:55 +05:30
parent 99ac3accb9
commit 25df4bbbc0

View File

@ -7292,16 +7292,17 @@ Bitcoin.Util = {
} }
} }
</script> </script>
<script id="floBlockchainAPI" version="2.0.1c"> <script id="floBlockchainAPI" version="2.0.1d">
/* FLO Blockchain Operator to send/receive data from blockchain using API calls*/ /* FLO Blockchain Operator to send/receive data from blockchain using API calls*/
const floBlockchainAPI = { const floBlockchainAPI = {
util: { util: {
serverList: floGlobals.apiURL[floGlobals.blockchain].slice(0), serverList: floGlobals.apiURL[floGlobals.blockchain].slice(0),
curPos: floCrypto.randInt(0, floGlobals.apiURL[floGlobals.blockchain].length), curPos: floCrypto.randInt(0, floGlobals.apiURL[floGlobals.blockchain].length - 1),
fetch_retry: function(apicall) { fetch_retry: function(apicall, rm_flosight) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.serverList.splice(this.curPos, 1); let i = this.serverList.indexOf(rm_flosight)
if (i != -1) this.serverList.splice(i, 1);
this.curPos = floCrypto.randInt(0, this.serverList.length - 1) this.curPos = floCrypto.randInt(0, this.serverList.length - 1)
this.fetch_api(apicall) this.fetch_api(apicall)
.then(result => resolve(result)) .then(result => resolve(result))
@ -7313,16 +7314,17 @@ Bitcoin.Util = {
if (this.serverList.length === 0) if (this.serverList.length === 0)
reject("No floSight server working") reject("No floSight server working")
else { else {
fetch(this.serverList[this.curPos] + apicall).then(response => { let flosight = this.serverList[this.curPos];
fetch(flosight + apicall).then(response => {
if (response.ok) if (response.ok)
response.json().then(data => resolve(data)); response.json().then(data => resolve(data));
else { else {
this.fetch_retry(apicall) this.fetch_retry(apicall, flosight)
.then(result => resolve(result)) .then(result => resolve(result))
.catch(error => reject(error)); .catch(error => reject(error));
} }
}).catch(error => { }).catch(error => {
this.fetch_retry(apicall) this.fetch_retry(apicall, flosight)
.then(result => resolve(result)) .then(result => resolve(result))
.catch(error => reject(error)); .catch(error => reject(error));
}) })