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