mirror of
https://github.com/foss42/apidash.git
synced 2025-05-23 01:06:46 +08:00
32 lines
1.1 KiB
Dart
32 lines
1.1 KiB
Dart
import 'package:apidash/models/models.dart' show RequestModel;
|
|
import 'package:apidash/consts.dart';
|
|
import 'dart/pkg_http.dart';
|
|
import 'kotlin/pkg_okhttp.dart';
|
|
import 'python/pkg_http_client.dart';
|
|
import 'python/pkg_requests.dart';
|
|
import 'others/har.dart';
|
|
|
|
class Codegen {
|
|
String? getCode(
|
|
CodegenLanguage codegenLanguage,
|
|
RequestModel requestModel,
|
|
String defaultUriScheme,
|
|
) {
|
|
switch (codegenLanguage) {
|
|
case CodegenLanguage.har:
|
|
return HARCodeGen().getCode(requestModel);
|
|
case CodegenLanguage.dartHttp:
|
|
return DartHttpCodeGen().getCode(requestModel, defaultUriScheme);
|
|
case CodegenLanguage.kotlinOkHttp:
|
|
return KotlinOkHttpCodeGen().getCode(requestModel, defaultUriScheme);
|
|
case CodegenLanguage.pythonHttpClient:
|
|
return PythonHttpClientCodeGen()
|
|
.getCode(requestModel, defaultUriScheme);
|
|
case CodegenLanguage.pythonRequests:
|
|
return PythonRequestsCodeGen().getCode(requestModel, defaultUriScheme);
|
|
default:
|
|
throw ArgumentError('Invalid codegenLanguage');
|
|
}
|
|
}
|
|
}
|