settingsFor method
Implementation
Future<SegmentAPISettings?> 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 SegmentAPISettings.fromJson(jsonMap);
} catch (error) {
reportInternalError(NetworkUnknown(error.toString()),
analytics: _analytics.target);
return null;
}
}