@@ -44,13 +44,15 @@ def build_curl(method, url, headers, params, data_str, data_json, files):
4444 continue
4545 url_full += '&%s=%s' % (k , params [k ])
4646 url_full = url_full .replace ('&' , '?' , 1 )
47- msg .append (' curl -X %s "%s" \\ ' % (str (method ), str (url_full )))
47+ msg .append (' curl \\ ' )
48+ msg .append (' --url "%s" \\ ' % (str (url_full )))
49+ msg .append (' --request %s \\ ' % (str (method )))
4850 # headers
4951 h = sanitize_secrets (headers )
5052 for k in h :
5153 if k is None :
5254 continue
53- msg .append (' -H "%s: %s" \\ ' % (k , h [k ]))
55+ msg .append (' --header "%s: %s" \\ ' % (k , h [k ]))
5456 # data_str
5557 if data_str is not None :
5658 if isinstance (data_str , (bytes ,bytearray )):
@@ -75,14 +77,22 @@ def build_curl(method, url, headers, params, data_str, data_json, files):
7577 msg .append (' --data \' %s\' \\ ' % (s .replace ('\n ' , ' ' )))
7678 # files
7779 if files is not None :
78- if isinstance (files , (list , tuple )):
80+ if isinstance (files , (dict )):
81+ for k , v in files .items ():
82+ if v [0 ] is None :
83+ msg .append (' --form %s="%s" \\ ' % (k , v [1 ]))
84+ else :
85+ msg .append (' --form %s="%s" \\ ' % (k , v [0 ]))
86+ elif isinstance (files , (list , tuple )):
7987 for f in files :
88+ msg .append (' --form "%s" \\ ' % (f ,))
89+ continue
8090 if f [1 ][0 ] is None :
8191 # not a file
82- msg .append (' --form " %s=%s" \\ ' % (f [0 ], f [1 ][1 ]))
92+ msg .append (' --form %s=" %s" \\ ' % (f [0 ], f [1 ][1 ]))
8393 else :
8494 # a file
85- msg .append (' --form " %s=@%s" \\ ' % (f [0 ], f [1 ][0 ]))
95+ msg .append (' --form %s=" @%s" \\ ' % (f [0 ], f [1 ][0 ]))
8696 else :
8797 msg .append (' --form "file=@%s" \\ ' % (files ))
8898
0 commit comments