getURL method
Implementation
String getURL() {
var queryPairs = <String>[];
for (var entry in _parameters.entries) {
var k = Uri.encodeComponent(entry.key);
var v = entry.value;
String encodedValue;
if (k.endsWith('64')) {
encodedValue = _encodeBase64(v);
} else {
encodedValue = Uri.encodeComponent(v);
}
queryPairs.add('$k=$encodedValue');
}
var query = queryPairs.join('&');
var decodedPath = Uri.decodeComponent(_path.substring(1));
if (decodedPath.startsWith('http://') ||
decodedPath.startsWith('https://')) {
_path = '/${Uri.encodeComponent(decodedPath)}';
}
if (isNotBlank(_signKey)) {
var delim = query == '' ? '' : '?';
var toSign = _signKey! + _path + delim + query;
var signature = md5.convert(utf8.encode(toSign)).toString();
if (query.isNotEmpty) {
query += '&s=$signature';
} else {
query = 's=$signature';
}
return buildURL(_scheme, _domain, _path, query);
}
return buildURL(_scheme, _domain, _path, query);
}