Skip to content
This repository was archived by the owner on Mar 10, 2020. It is now read-only.

Commit 173950c

Browse files
committed
chore: update responses
1 parent 7900d27 commit 173950c

File tree

3 files changed

+34
-17
lines changed

3 files changed

+34
-17
lines changed

src/dht/findpeer.js

+21-13
Original file line numberDiff line numberDiff line change
@@ -25,32 +25,40 @@ module.exports = (send) => {
2525
res = res[0]
2626
}
2727

28-
// Type 2 keys
29-
if (res.Type !== 2) {
28+
// Type 2 keys (inconsistencies between go core and js core)
29+
if (res.Type !== 2 && res.type !== 2) {
3030
const errMsg = `key was not found (type 2)`
3131

3232
return callback(errcode(new Error(errMsg), 'ERR_KEY_TYPE_2_NOT_FOUND'))
3333
}
3434

35-
const id = res.Responses[0].ID
36-
const addresses = res.Responses[0].Addrs.map((addr) => {
37-
// inconsistencies js / go - go does not add `/ipfs/{id}` to the address
35+
// inconsistencies between go core and js core
36+
let id
37+
let addrs
38+
39+
if (res.Responses) {
40+
id = res.Responses[0].ID
41+
addrs = res.Responses[0].Addrs
42+
} else {
43+
id = res.responses[0].id
44+
addrs = res.responses[0].addrs
45+
}
46+
47+
// inconsistencies js / go - go does not add `/ipfs/{id}` to the address
48+
addrs = addrs.map((addr) => {
3849
if (addr.split('/ipfs/') > -1) {
3950
return addr
4051
} else {
4152
return `${addr}/ipfs/${id}`
4253
}
4354
})
4455

45-
const response = {
46-
...res,
47-
Responses: [{
48-
ID: id,
49-
Addrs: addresses
56+
callback(null, {
57+
responses: [{
58+
id,
59+
addrs
5060
}]
51-
}
52-
53-
callback(null, response)
61+
})
5462
}
5563

5664
send({

src/dht/findprovs.js

+12-3
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,23 @@ module.exports = (send) => {
2525
res = res[0]
2626
}
2727

28-
// Type 4 keys
29-
if (res.Type !== 4) {
28+
// Type 4 keys (inconsistencies between go core and js core)
29+
if (res.Type !== 4 && res.type !== 4) {
3030
const errMsg = `key was not found (type 4)`
3131

3232
return callback(errcode(new Error(errMsg), 'ERR_KEY_TYPE_4_NOT_FOUND'))
3333
}
3434

35-
callback(null, res)
35+
// inconsistencies between go core and js core
36+
const recResponses = res.Responses || res.responses
37+
38+
// providers array (handling inconsistencies)
39+
const responses = recResponses.map((r) => ({
40+
id: r.ID || r.id,
41+
addrs: r.Addrs || r.addrs
42+
}))
43+
44+
callback(null, { responses })
3645
}
3746

3847
send({

test/interface.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const CommonFactory = require('./utils/interface-common-factory')
77
const IPFSApi = require('../src')
88
const isWindows = process.platform && process.platform === 'win32'
99

10-
describe.only('interface-ipfs-core tests', () => {
10+
describe('interface-ipfs-core tests', () => {
1111
const defaultCommonFactory = CommonFactory.create()
1212

1313
tests.bitswap(defaultCommonFactory, {

0 commit comments

Comments
 (0)