|
1 | 1 | import 'package:apidash/models/models.dart' show RequestModel;
|
2 | 2 | import 'package:apidash/consts.dart';
|
| 3 | +import 'package:apidash/utils/utils.dart' show getNewUuid; |
3 | 4 | import 'dart/http.dart';
|
4 | 5 | import 'dart/dio.dart';
|
| 6 | +import 'go/http.dart'; |
5 | 7 | import 'kotlin/okhttp.dart';
|
6 | 8 | import 'python/http_client.dart';
|
7 | 9 | import 'python/requests.dart';
|
8 |
| -import 'java/async_http_client.dart'; |
| 10 | +import 'rust/actix.dart'; |
| 11 | +import 'rust/reqwest.dart'; |
| 12 | +import 'rust/ureq.dart'; |
9 | 13 | import 'js/axios.dart';
|
10 | 14 | import 'js/fetch.dart';
|
11 | 15 | import 'others/har.dart';
|
12 | 16 | import 'others/curl.dart';
|
| 17 | +import 'julia/http.dart'; |
| 18 | +import 'java/okhttp.dart'; |
| 19 | +import 'java/async_http_client.dart'; |
13 | 20 |
|
14 | 21 | class Codegen {
|
15 | 22 | String? getCode(
|
16 | 23 | CodegenLanguage codegenLanguage,
|
17 | 24 | RequestModel requestModel,
|
18 |
| - String defaultUriScheme, |
19 |
| - ) { |
| 25 | + String defaultUriScheme, { |
| 26 | + String? boundary, |
| 27 | + }) { |
| 28 | + String url = requestModel.url; |
| 29 | + |
| 30 | + if (url.isEmpty) { |
| 31 | + url = kDefaultUri; |
| 32 | + } |
| 33 | + if (!url.contains("://") && url.isNotEmpty) { |
| 34 | + url = "$defaultUriScheme://$url"; |
| 35 | + } |
| 36 | + var rM = requestModel.copyWith(url: url); |
| 37 | + |
20 | 38 | switch (codegenLanguage) {
|
21 | 39 | case CodegenLanguage.curl:
|
22 |
| - return cURLCodeGen().getCode(requestModel, defaultUriScheme); |
| 40 | + return cURLCodeGen().getCode(rM); |
23 | 41 | case CodegenLanguage.har:
|
24 |
| - return HARCodeGen().getCode(requestModel, defaultUriScheme); |
| 42 | + return HARCodeGen().getCode(rM, defaultUriScheme, boundary: boundary); |
25 | 43 | case CodegenLanguage.dartHttp:
|
26 |
| - return DartHttpCodeGen().getCode(requestModel, defaultUriScheme); |
| 44 | + return DartHttpCodeGen().getCode(rM); |
27 | 45 | case CodegenLanguage.dartDio:
|
28 |
| - return DartDioCodeGen().getCode(requestModel, defaultUriScheme); |
| 46 | + return DartDioCodeGen().getCode(rM); |
29 | 47 | case CodegenLanguage.jsAxios:
|
30 |
| - return AxiosCodeGen().getCode(requestModel, defaultUriScheme); |
| 48 | + return AxiosCodeGen().getCode(rM); |
31 | 49 | case CodegenLanguage.jsFetch:
|
32 |
| - return FetchCodeGen().getCode(requestModel, defaultUriScheme); |
| 50 | + return FetchCodeGen().getCode(rM); |
33 | 51 | case CodegenLanguage.nodejsAxios:
|
34 |
| - return AxiosCodeGen(isNodeJs: true) |
35 |
| - .getCode(requestModel, defaultUriScheme); |
| 52 | + return AxiosCodeGen(isNodeJs: true).getCode(rM); |
36 | 53 | case CodegenLanguage.nodejsFetch:
|
37 |
| - return FetchCodeGen(isNodeJs: true) |
38 |
| - .getCode(requestModel, defaultUriScheme); |
| 54 | + return FetchCodeGen(isNodeJs: true).getCode(rM); |
39 | 55 | case CodegenLanguage.kotlinOkHttp:
|
40 |
| - return KotlinOkHttpCodeGen().getCode(requestModel, defaultUriScheme); |
| 56 | + return KotlinOkHttpCodeGen().getCode(rM); |
| 57 | + case CodegenLanguage.javaOkHttp: |
| 58 | + return JavaOkHttpCodeGen().getCode(rM); |
41 | 59 | case CodegenLanguage.pythonHttpClient:
|
42 | 60 | return PythonHttpClientCodeGen()
|
43 |
| - .getCode(requestModel, defaultUriScheme); |
| 61 | + .getCode(rM, boundary: boundary ?? getNewUuid()); |
44 | 62 | case CodegenLanguage.pythonRequests:
|
45 |
| - return PythonRequestsCodeGen().getCode(requestModel, defaultUriScheme); |
| 63 | + return PythonRequestsCodeGen().getCode(rM, boundary: boundary); |
| 64 | + case CodegenLanguage.rustActix: |
| 65 | + return RustActixCodeGen().getCode(rM, boundary: boundary); |
| 66 | + case CodegenLanguage.rustReqwest: |
| 67 | + return RustReqwestCodeGen().getCode(rM); |
| 68 | + case CodegenLanguage.rustUreq: |
| 69 | + return RustUreqCodeGen().getCode(rM, boundary: boundary); |
| 70 | + case CodegenLanguage.goHttp: |
| 71 | + return GoHttpCodeGen().getCode(rM); |
| 72 | + case CodegenLanguage.juliaHttp: |
| 73 | + return JuliaHttpClientCodeGen().getCode(rM); |
46 | 74 | case CodegenLanguage.javaAsyncHttpClient:
|
47 |
| - return JavaAsyncHttpClientGen().getCode(requestModel, defaultUriScheme); |
| 75 | + return JavaAsyncHttpClientGen().getCode(rM); |
48 | 76 | }
|
49 | 77 | }
|
50 | 78 | }
|
0 commit comments