diff --git a/lib/codegen/python/http_client.dart b/lib/codegen/python/http_client.dart index 086151bb..2d002ca7 100644 --- a/lib/codegen/python/http_client.dart +++ b/lib/codegen/python/http_client.dart @@ -7,8 +7,8 @@ import 'package:apidash/models/models.dart' show RequestModel; import 'package:apidash/consts.dart'; class PythonHttpClientCodeGen { - final String kTemplateStart = """import http.client{% if isFormDataRequest %} -import mimetypes + final String kTemplateStart = """import http.client +{% if isFormDataRequest %}import mimetypes from codecs import encode {% endif %} """; @@ -61,6 +61,7 @@ print(data.decode("utf-8")) """; final String kStringFormDataBody = r''' + def build_data_list(fields): dataList = [] for field in fields: @@ -81,6 +82,7 @@ def build_data_list(fields): dataList.append(encode(f'--{{boundary}}--')) dataList.append(encode('')) return dataList + dataList = build_data_list({{fields_list}}) body = b'\r\n'.join(dataList) '''; diff --git a/lib/codegen/python/requests.dart b/lib/codegen/python/requests.dart index a2f359a1..4d9523e4 100644 --- a/lib/codegen/python/requests.dart +++ b/lib/codegen/python/requests.dart @@ -8,8 +8,7 @@ import 'package:apidash/models/models.dart' show RequestModel; class PythonRequestsCodeGen { final String kTemplateStart = """import requests -{% if isFormDataRequest %} -import mimetypes +{% if isFormDataRequest %}import mimetypes from codecs import encode {% endif %} url = '{{url}}' @@ -51,6 +50,7 @@ response = requests.{{method}}(url """; final String kStringFormDataBody = r''' + def build_data_list(fields): dataList = [] for field in fields: @@ -69,10 +69,10 @@ def build_data_list(fields): dataList.append(encode(f'Content-Type: {mimetypes.guess_type(value)[0] or "application/octet-stream"}')) dataList.append(encode('')) dataList.append(open(value, 'rb').read()) - dataList.append(encode('--{{boundary}}--')) dataList.append(encode('')) return dataList + dataList = build_data_list({{fields_list}}) payload = b'\r\n'.join(dataList) ''';