@@ -25,11 +25,9 @@ export const axios: Client = {
2525 indent : ' ' ,
2626 ...options ,
2727 } ;
28+ const { blank, join, push, addPostProcessor } = new CodeBuilder ( { indent : opts . indent } ) ;
2829
29- const { blank, join, push } = new CodeBuilder ( { indent : opts . indent } ) ;
30-
31- push ( "var axios = require('axios').default;" ) ;
32- blank ( ) ;
30+ push ( "const axios = require('axios').default;" ) ;
3331
3432 const reqOpts : Record < string , any > = {
3533 method,
@@ -46,23 +44,39 @@ export const axios: Client = {
4644
4745 switch ( postData . mimeType ) {
4846 case 'application/x-www-form-urlencoded' :
49- reqOpts . data = postData . paramsObj ;
47+ if ( postData . params ) {
48+ push ( "const { URLSearchParams } = require('url');" ) ;
49+ blank ( ) ;
50+
51+ push ( 'const encodedParams = new URLSearchParams();' ) ;
52+ postData . params . forEach ( param => {
53+ push ( `encodedParams.set('${ param . name } ', '${ param . value } ');` ) ;
54+ } ) ;
55+
56+ blank ( ) ;
57+
58+ reqOpts . data = 'encodedParams,' ;
59+ addPostProcessor ( code => code . replace ( / ' e n c o d e d P a r a m s , ' / , 'encodedParams,' ) ) ;
60+ }
61+
5062 break ;
5163
5264 case 'application/json' :
65+ blank ( ) ;
5366 if ( postData . jsonObj ) {
5467 reqOpts . data = postData . jsonObj ;
5568 }
5669 break ;
5770
5871 default :
72+ blank ( ) ;
5973 if ( postData . text ) {
6074 reqOpts . data = postData . text ;
6175 }
6276 }
6377
6478 const stringifiedOptions = stringifyObject ( reqOpts , { indent : ' ' , inlineCharacterLimit : 80 } ) ;
65- push ( `var options = ${ stringifiedOptions } ;` ) ;
79+ push ( `const options = ${ stringifiedOptions } ;` ) ;
6680 blank ( ) ;
6781
6882 push ( 'axios' ) ;
0 commit comments