@@ -225,13 +225,13 @@ export default class Kitsu {
225225 // :resource/:id/:relationship/:subRelationship
226226 if ( subRelationship ) url += `/${ this . resCase ( subRelationship ) } `
227227
228- const { data } = await this . axios . get ( url , {
228+ const { data, headers : responseHeaders } = await this . axios . get ( url , {
229229 headers,
230230 params,
231231 paramsSerializer : /* istanbul ignore next */ p => query ( p )
232232 } )
233233
234- return deserialise ( data )
234+ return responseHeaders ? merge ( deserialise ( data ) , { headers : responseHeaders } ) : deserialise ( data )
235235 } catch ( E ) {
236236 throw error ( E )
237237 }
@@ -283,7 +283,7 @@ export default class Kitsu {
283283 pluralTypes : this . plural
284284 } )
285285 const fullURL = body ?. id ? `${ url } /${ body . id } ` : url
286- const { data } = await this . axios . patch (
286+ const { data, headers : responseHeaders } = await this . axios . patch (
287287 fullURL ,
288288 serialData ,
289289 {
@@ -293,7 +293,7 @@ export default class Kitsu {
293293 }
294294 )
295295
296- return deserialise ( data )
296+ return responseHeaders ? merge ( deserialise ( data ) , { headers : responseHeaders } ) : deserialise ( data )
297297 } catch ( E ) {
298298 throw error ( E )
299299 }
@@ -335,7 +335,7 @@ export default class Kitsu {
335335 resourceCase : this . resCase ,
336336 pluralModel : this . plural
337337 } )
338- const { data } = await this . axios . post (
338+ const { data, headers : responseHeaders } = await this . axios . post (
339339 url ,
340340 serialise ( resourceModel , body , 'POST' , {
341341 camelCaseTypes : this . camel ,
@@ -348,7 +348,7 @@ export default class Kitsu {
348348 }
349349 )
350350
351- return deserialise ( data )
351+ return responseHeaders ? merge ( deserialise ( data ) , { headers : responseHeaders } ) : deserialise ( data )
352352 } catch ( E ) {
353353 throw error ( E )
354354 }
@@ -388,7 +388,7 @@ export default class Kitsu {
388388 payload = { id }
389389 }
390390
391- const { data } = await this . axios . delete ( path , {
391+ const { data, headers : responseHeaders } = await this . axios . delete ( path , {
392392 data : serialise ( resourceModel , payload , 'DELETE' , {
393393 camelCaseTypes : this . camel ,
394394 pluralTypes : this . plural
@@ -398,7 +398,7 @@ export default class Kitsu {
398398 paramsSerializer : /* istanbul ignore next */ p => query ( p )
399399 } )
400400
401- return data
401+ return responseHeaders ? merge ( deserialise ( data ) , { headers : responseHeaders } ) : deserialise ( data )
402402 } catch ( E ) {
403403 throw error ( E )
404404 }
@@ -430,7 +430,7 @@ export default class Kitsu {
430430 const headers = merge ( this . headers , config . headers )
431431 const params = merge ( config . params , { filter : { self : true } } )
432432 const res = await this . get ( 'users' , merge ( { headers } , { params } ) )
433- return res . data [ 0 ]
433+ return res . headers ? merge ( { data : res . data [ 0 ] } , { headers : res . headers } ) : { data : res . data [ 0 ] }
434434 } catch ( E ) {
435435 throw error ( E )
436436 }
@@ -491,7 +491,7 @@ export default class Kitsu {
491491 async request ( { body, method, params, type, url, headers } ) {
492492 try {
493493 method = method ?. toUpperCase ( ) || 'GET'
494- const { data } = await this . axios . request ( {
494+ const { data, headers : responseHeaders } = await this . axios . request ( {
495495 method,
496496 url,
497497 data : [ 'GET' , 'DELETE' ] . includes ( method )
@@ -505,7 +505,7 @@ export default class Kitsu {
505505 paramsSerializer : /* istanbul ignore next */ p => query ( p )
506506 } )
507507
508- return deserialise ( data )
508+ return responseHeaders ? merge ( deserialise ( data ) , { headers : responseHeaders } ) : deserialise ( data )
509509 } catch ( E ) {
510510 throw error ( E )
511511 }
0 commit comments