settingsFor method
Implementation
Future<HightouchAPISettings?> settingsFor(String writeKey) async {
final settingsURL =
_url(_analytics.target!.state.configuration.state.cdnHost, "/projects/$writeKey/settings");
final urlRequest = _configuredRequest(settingsURL, "GET");
try {
final response = await urlRequest.send();
if (response.statusCode > 300) {
reportInternalError(NetworkUnexpectedHTTPCode(response.statusCode), analytics: _analytics.target);
return null;
}
final data = await response.stream.toBytes();
const decoder = JsonDecoder();
final jsonMap = decoder.convert(utf8.decode(data)) as Map<String, dynamic>;
return HightouchAPISettings.fromJson(jsonMap);
} catch (error) {
reportInternalError(NetworkUnknown(error.toString()), analytics: _analytics.target);
return null;
}
}