makeBackendRequest method
Make HTTP request to backend
Implementation
Future<http.Response> makeBackendRequest({
required String endpoint,
required String method,
Map<String, dynamic>? body,
Map<String, String>? headers,
}) async {
final uri = Uri.parse('${config.backendUrl}$endpoint');
final requestHeaders = {
'Content-Type': 'application/json',
'X-Payment-Provider': config.provider.name,
'X-Payment-Environment': config.environment.name,
...?config.customHeaders,
...?headers,
};
switch (method.toUpperCase()) {
case 'GET':
return await http.get(uri, headers: requestHeaders);
case 'POST':
return await http.post(
uri,
headers: requestHeaders,
body: body != null ? jsonEncode(body) : null,
);
case 'PUT':
return await http.put(
uri,
headers: requestHeaders,
body: body != null ? jsonEncode(body) : null,
);
case 'DELETE':
return await http.delete(uri, headers: requestHeaders);
default:
throw ArgumentError('Unsupported HTTP method: $method');
}
}