@@ -9,28 +9,25 @@ export default function Request(stack, fetchOptions) {
99 let requestParams = stack . requestParams ;
1010 return new Promise ( function ( resolve , reject ) {
1111 let queryParams ;
12- let serialize = function ( obj , prefix ) {
13-
14- let str = [ ] ,
15- p ;
16- if ( typeof obj === "object" && obj . length !== undefined ) {
17- for ( var i = 0 , _i = obj . length ; i < _i ; i ++ ) {
18- str . push ( prefix + '[]=' + obj [ i ] ) ;
19- }
20- } else {
21- for ( const p in obj ) {
22- let k = prefix ? prefix + "[" + p + "]" : p ,
23- v = obj [ p ] ;
24- str . push ( ( v !== null && typeof v === "object" && p !== 'query' ) ?
25- serialize ( v , k ) :
26- k + "=" + encodeURIComponent ( p !== 'query' ? v : JSON . stringify ( v ) ) ) ;
27- }
12+
13+ const params = new URLSearchParams ( ) ;
14+ let serialize = function ( obj , prefix ) {
15+ if ( typeof obj === 'object' && obj . length !== undefined ) {
16+ for ( let i = 0 , _i = obj . length ; i < _i ; i ++ ) {
17+ params . append ( prefix + '[]' , obj [ i ] ) ;
18+ }
19+ } else {
20+ for ( const p in obj ) {
21+ let k = prefix ? prefix + '[' + p + ']' : p ,
22+ v = obj [ p ] ;
23+ v !== null && typeof v === 'object' && p !== 'query'
24+ ? serialize ( v , k )
25+ : params . append ( k , p !== 'query' ? v : JSON . stringify ( v ) ) ;
2826 }
29- return str . join ( "&" ) ;
27+ }
28+ return params . toString ( ) ;
3029 } ;
3130
32-
33-
3431 // setting headers
3532 requestParams . headers [ 'Content-Type' ] = 'application/json; charset=UTF-8' ;
3633 requestParams . headers [ 'X-User-Agent' ] = 'contentstack-delivery-javascript-{{PLATFORM}}/' + version ;
0 commit comments