get method
Executes a HTTP GET request for the given apiPath.
Applies:
- Base URL resolution
- Authorization headers
- Timeout handling
- Retry logic
Implementation
Future<Response?> get(String apiPath) async {
Logger.log(
"--------> START OF GET API CALL <--------",
type: LogType.api,
tag: "DF-API-CLIENT",
);
Uri apiUri = _generateApiUri(apiPath);
return _processApiCall(
apiPath: apiPath,
httpApiConfig.maxRetryAttempts,
apiCall: () async {
return await httpClient
.get(apiUri, headers: httpApiConfig.headers)
.timeout(
Duration(seconds: httpApiConfig.timeout),
onTimeout: () => throw Exception(
"API Timeout exception, no response from the server for: $apiPath",
),
);
},
);
}