retrieveDomain method

Retrieve a single domain for the authenticated user.

Implementation

Future<ResendResult<ResendRetrieveDomainResponse>> retrieveDomain(

    /// The Domain ID.
    String domainId) async {
  // Validation
  assert(domainId.isNotEmpty, 'The domain ID can not be empty.');

  // Construct the request URI
  final Uri uri = Uri(
      scheme: _baseUri.scheme,
      host: _baseUri.host,
      path: '${_baseUri.path}/$domainId');

  // Send GET request to the API
  final http.Response response = await http.get(uri,
      headers: <String, String>{
        'Authorization': 'Bearer $_apiKey',
        'Content-Type': 'application/json'
      });

  // Decode the response
  final Json body = json.decode(response.body);

  // Return Failure when statusCode is not OK
  if (response.statusCode != 200) {
    return ResendFailure.fromJson(body);
  }

  // Return parsed data when statusCode is OK
  final ResendRetrieveDomainResponse result =
      ResendRetrieveDomainResponse.fromJson(body);
  return ResendResult<ResendRetrieveDomainResponse>.success(result);
}