toString method

  1. @override
String toString()
override

Set Authorization header to request.

Below parameters are provided default values:

  • oauth_signature_method
  • oauth_signature
  • oauth_timestamp
  • oauth_nonce
  • oauth_version
  • oauth_consumer_key
  • oauth_token
  • oauth_token_secret

You can add parameters by _authorizationHeader. (You can override too but I don't recommend.)

Implementation

@override
String toString() {
  final Map<String, String> params = <String, String>{};

  params['oauth_nonce'] = DateTime.now().millisecondsSinceEpoch.toString();
  params['oauth_signature_method'] = _signatureMethod.name;
  params['oauth_timestamp'] =
      (DateTime.now().millisecondsSinceEpoch / 1000).floor().toString();
  params['oauth_consumer_key'] = _clientCredentials.token;
  params['oauth_version'] = '1.0';
  if (_credentials != null) {
    params['oauth_token'] = _credentials!.token;
  }
  params.addAll(_additionalParameters!);
  if (!params.containsKey('oauth_signature')) {
    params['oauth_signature'] = _createSignature(_method, _url, params);
  }

  final String authHeader = 'OAuth ' +
      params.keys.map((String k) {
        return '$k="${Uri.encodeComponent(params[k]!)}"';
      }).join(', ');
  return authHeader;
}