Skip to content

Commit

Permalink
[update] handle error when client crendentials are not provided
Browse files Browse the repository at this point in the history
  • Loading branch information
luixlacrux committed Jun 21, 2017
1 parent f347eff commit ddf62ab
Showing 1 changed file with 32 additions and 28 deletions.
60 changes: 32 additions & 28 deletions lib/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,21 +27,25 @@ class Client {
* @param {string} path - endpoint to send request
* @param {Object} [params] - querystrings
*/
fetchOAuth (path, params) {
fetch (path, params) {
path = params ? `${path}?${qs.encode(params)}` : path

return Promise.resolve(this.getToken().then((token) => {
const opts = {
method: 'GET',
uri: path,
headers: {
'Authorization': `Bearer ${token}`
},
json: true
}

return request(opts)
}))
return new Promise((resolve, reject) => {
this.getToken()
.then((token) => {
const opts = {
method: 'GET',
uri: path,
headers: {
'Authorization': `Bearer ${token}`
},
json: true
}

resolve(request(opts))
})
.catch((err) => reject(new Error(err)))
})
}

getToken () {
Expand Down Expand Up @@ -119,7 +123,7 @@ class Client {
.asCallback(callback)
}

return Promise.resolve(this.fetchOAuth(url))
return Promise.resolve(this.fetch(url))
}

/**
Expand All @@ -132,11 +136,11 @@ class Client {
/* istanbul ignore else */
if (callback) {
return Promise
.resolve(this.fetchOAuth(this.endpoints.albums, { ids }))
.resolve(this.fetch(this.endpoints.albums, { ids }))
.asCallback(callback)
}

return Promise.resolve(this.fetchOAuth(this.endpoints.albums, { ids }))
return Promise.resolve(this.fetch(this.endpoints.albums, { ids }))
}

/**
Expand Down Expand Up @@ -169,11 +173,11 @@ class Client {
/* istanbul ignore else */
if (callback) {
return Promise
.resolve(this.fetchOAuth(url, params))
.resolve(this.fetch(url, params))
.asCallback(callback)
}

return Promise.resolve(this.fetchOAuth(url, params))
return Promise.resolve(this.fetch(url, params))
}

/**
Expand All @@ -186,11 +190,11 @@ class Client {
/* istanbul ignore else */
if (callback) {
return Promise
.resolve(this.fetchOAuth(this.endpoints.artists, { ids }))
.resolve(this.fetch(this.endpoints.artists, { ids }))
.asCallback(callback)
}

return Promise.resolve(this.fetchOAuth(this.endpoints.artists, { ids }))
return Promise.resolve(this.fetch(this.endpoints.artists, { ids }))
}

/**
Expand All @@ -203,11 +207,11 @@ class Client {
/* istanbul ignore else */
if (callback) {
return Promise
.resolve(this.fetchOAuth(url))
.resolve(this.fetch(url))
.asCallback(callback)
}

return Promise.resolve(this.fetchOAuth(url))
return Promise.resolve(this.fetch(url))
}

/**
Expand All @@ -220,11 +224,11 @@ class Client {
/* istanbul ignore else */
if (callback) {
return Promise
.resolve(this.fetchOAuth(this.endpoints.tracks, { ids }))
.resolve(this.fetch(this.endpoints.tracks, { ids }))
.asCallback(callback)
}

return Promise.resolve(this.fetchOAuth(this.endpoints.tracks, { ids }))
return Promise.resolve(this.fetch(this.endpoints.tracks, { ids }))
}

/**
Expand All @@ -247,11 +251,11 @@ class Client {
/* istanbul ignore else */
if (callback) {
return Promise
.resolve(this.fetchOAuth(url, params))
.resolve(this.fetch(url, params))
.asCallback(callback)
}

return Promise.resolve(this.fetchOAuth(url, params))
return Promise.resolve(this.fetch(url, params))
}

/**
Expand All @@ -271,11 +275,11 @@ class Client {
/* istanbul ignore else */
if (callback) {
return Promise
.resolve(this.fetchOAuth(url, opts))
.resolve(this.fetch(url, opts))
.asCallback(callback)
}

return Promise.resolve(this.fetchOAuth(url, opts))
return Promise.resolve(this.fetch(url, opts))
}
}

Expand Down

0 comments on commit ddf62ab

Please sign in to comment.