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