mirror of
https://github.com/foss42/apidash.git
synced 2025-06-02 07:46:10 +08:00
Dynamic default uri scheme
This commit is contained in:
@ -67,7 +67,10 @@ void main() async {
|
||||
}
|
||||
""";
|
||||
|
||||
String? getCode(RequestModel requestModel) {
|
||||
String? getCode(
|
||||
RequestModel requestModel,
|
||||
String defaultUriScheme,
|
||||
) {
|
||||
try {
|
||||
String result = "";
|
||||
bool hasHeaders = false;
|
||||
@ -75,7 +78,7 @@ void main() async {
|
||||
|
||||
String url = requestModel.url;
|
||||
if (!url.contains("://") && url.isNotEmpty) {
|
||||
url = "$kDefaultUriScheme://$url";
|
||||
url = "$defaultUriScheme://$url";
|
||||
}
|
||||
var templateUrl = jj.Template(kTemplateUrl);
|
||||
result += templateUrl.render({"url": url});
|
||||
|
@ -1,10 +1,10 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:apidash/providers/providers.dart';
|
||||
import 'package:apidash/models/models.dart';
|
||||
import 'package:apidash/services/services.dart'
|
||||
show hiveHandler, HiveHandler, request;
|
||||
import 'package:apidash/utils/utils.dart' show uuid;
|
||||
import 'package:apidash/consts.dart';
|
||||
import 'ui_providers.dart';
|
||||
|
||||
final activeRequestModelProvider = StateProvider<RequestModel?>((ref) {
|
||||
final activeId = ref.watch(activeIdStateProvider);
|
||||
@ -125,9 +125,11 @@ class CollectionStateNotifier extends StateNotifier<List<RequestModel>?> {
|
||||
Future<void> sendRequest(String id) async {
|
||||
ref.read(sentRequestIdStateProvider.notifier).update((state) => id);
|
||||
ref.read(codePaneVisibleStateProvider.notifier).update((state) => false);
|
||||
final defaultUriScheme =
|
||||
ref.read(settingsProvider.select((value) => value.defaultUriScheme));
|
||||
final idx = idxOfId(id);
|
||||
RequestModel requestModel = getRequestModel(id);
|
||||
var responseRec = await request(requestModel);
|
||||
var responseRec = await request(requestModel, defaultUriScheme);
|
||||
late final RequestModel newRequestModel;
|
||||
if (responseRec.$0 == null) {
|
||||
newRequestModel = requestModel.copyWith(
|
||||
|
@ -23,7 +23,9 @@ class _CodePaneState extends ConsumerState<CodePane> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final activeRequestModel = ref.watch(activeRequestModelProvider);
|
||||
final code = dartHttpCodeGen.getCode(activeRequestModel!);
|
||||
final defaultUriScheme =
|
||||
ref.watch(settingsProvider.select((value) => value.defaultUriScheme));
|
||||
final code = dartHttpCodeGen.getCode(activeRequestModel!, defaultUriScheme);
|
||||
if (code == null) {
|
||||
return const ErrorMessage(
|
||||
message: "An error was encountered while generating code. $kRaiseIssue",
|
||||
|
@ -6,9 +6,13 @@ import 'package:apidash/utils/utils.dart';
|
||||
import 'package:apidash/models/models.dart';
|
||||
import 'package:apidash/consts.dart';
|
||||
|
||||
Future<(http.Response?, Duration?, String?)> request(RequestModel requestModel) async {
|
||||
Future<(http.Response?, Duration?, String?)> request(
|
||||
RequestModel requestModel,
|
||||
String defaultUriScheme,
|
||||
) async {
|
||||
(Uri?, String?) uriRec = getValidRequestUri(requestModel.url,
|
||||
requestModel.requestParams);
|
||||
requestModel.requestParams,
|
||||
defaultUriScheme);
|
||||
if(uriRec.$0 != null){
|
||||
Uri requestUrl = uriRec.$0!;
|
||||
Map<String, String> headers = rowsToMap(requestModel.requestHeaders) ?? {};
|
||||
|
@ -53,7 +53,11 @@ MediaType? getMediaTypeFromHeaders(Map? headers) {
|
||||
return (null, false);
|
||||
}
|
||||
|
||||
(Uri?, String?) getValidRequestUri(String? url, List<KVRow>? requestParams) {
|
||||
(Uri?, String?) getValidRequestUri(
|
||||
String? url,
|
||||
List<KVRow>? requestParams,
|
||||
String defaultUriScheme
|
||||
) {
|
||||
url = url?.trim();
|
||||
if(url == null || url == ""){
|
||||
return (null, "URL is missing!");
|
||||
@ -70,7 +74,7 @@ MediaType? getMediaTypeFromHeaders(Map? headers) {
|
||||
}
|
||||
}
|
||||
else {
|
||||
url = "$kDefaultUriScheme://$url";
|
||||
url = "$defaultUriScheme://$url";
|
||||
}
|
||||
|
||||
uri = Uri.parse(url);
|
||||
|
Reference in New Issue
Block a user