@@ -147,7 +147,7 @@ class ApiClient {
147147 url = apiBasePath + path ;
148148 }
149149
150- url = url . replace ( / \{ ( [ \w - ] + ) \} / g, ( fullMatch , key ) => {
150+ url = url . replace ( / \{ ( [ \w -\. ] + ) \} / g, ( fullMatch , key ) => {
151151 var value ;
152152 if ( pathParams . hasOwnProperty ( key ) ) {
153153 value = this . paramToString ( pathParams [ key ] ) ;
@@ -265,16 +265,18 @@ class ApiClient {
265265 }
266266 switch ( collectionFormat ) {
267267 case 'csv' :
268- return param . map ( this . paramToString ) . join ( ',' ) ;
268+ return param . map ( this . paramToString , this ) . join ( ',' ) ;
269269 case 'ssv' :
270- return param . map ( this . paramToString ) . join ( ' ' ) ;
270+ return param . map ( this . paramToString , this ) . join ( ' ' ) ;
271271 case 'tsv' :
272- return param . map ( this . paramToString ) . join ( '\t' ) ;
272+ return param . map ( this . paramToString , this ) . join ( '\t' ) ;
273273 case 'pipes' :
274- return param . map ( this . paramToString ) . join ( '|' ) ;
274+ return param . map ( this . paramToString , this ) . join ( '|' ) ;
275275 case 'multi' :
276276 //return the array directly as SuperAgent will handle it as expected
277- return param . map ( this . paramToString ) ;
277+ return param . map ( this . paramToString , this ) ;
278+ case 'passthrough' :
279+ return param ;
278280 default :
279281 throw new Error ( 'Unknown collection format: ' + collectionFormat ) ;
280282 }
@@ -297,7 +299,10 @@ class ApiClient {
297299 break ;
298300 case 'bearer' :
299301 if ( auth . accessToken ) {
300- request . set ( { 'Authorization' : 'Bearer ' + auth . accessToken } ) ;
302+ var localVarBearerToken = typeof auth . accessToken === 'function'
303+ ? auth . accessToken ( )
304+ : auth . accessToken
305+ request . set ( { 'Authorization' : 'Bearer ' + localVarBearerToken } ) ;
301306 }
302307
303308 break ;
@@ -431,11 +436,16 @@ class ApiClient {
431436 var _formParams = this . normalizeParams ( formParams ) ;
432437 for ( var key in _formParams ) {
433438 if ( _formParams . hasOwnProperty ( key ) ) {
434- if ( this . isFileParam ( _formParams [ key ] ) ) {
439+ let _formParamsValue = _formParams [ key ] ;
440+ if ( this . isFileParam ( _formParamsValue ) ) {
435441 // file field
436- request . attach ( key , _formParams [ key ] ) ;
442+ request . attach ( key , _formParamsValue ) ;
443+ } else if ( Array . isArray ( _formParamsValue ) && _formParamsValue . length
444+ && this . isFileParam ( _formParamsValue [ 0 ] ) ) {
445+ // multiple files
446+ _formParamsValue . forEach ( file => request . attach ( key , file ) ) ;
437447 } else {
438- request . field ( key , _formParams [ key ] ) ;
448+ request . field ( key , _formParamsValue ) ;
439449 }
440450 }
441451 }
0 commit comments