Hotfix API Url concat incorrect
This commit is contained in:
@@ -10,12 +10,27 @@ extension URIExtension on Uri {
|
||||
log('SessionUtils::toQualifiedUrl():qualifiedUrl: $qualifiedUrl');
|
||||
return Uri.parse(qualifiedUrl);
|
||||
} else {
|
||||
final baseUrlValid = baseUrl.toString().removeLastSlashOfUrl();
|
||||
final sourceUrlValid = toString().addFirstSlashOfUrl().removeLastSlashOfUrl();
|
||||
log('SessionUtils::toQualifiedUrl():baseUrlValid: $baseUrlValid | sourceUrlValid: $sourceUrlValid');
|
||||
final qualifiedUrl = baseUrlValid + sourceUrlValid;
|
||||
log('SessionUtils::toQualifiedUrl():qualifiedUrl: $qualifiedUrl');
|
||||
return Uri.parse(qualifiedUrl);
|
||||
if (!hasOrigin) {
|
||||
final baseUrlValid = baseUrl.toString().removeLastSlashOfUrl();
|
||||
final sourceUrlValid = toString().addFirstSlashOfUrl().removeLastSlashOfUrl();
|
||||
log('SessionUtils::toQualifiedUrl():baseUrlValid: $baseUrlValid | sourceUrlValid: $sourceUrlValid');
|
||||
final qualifiedUrl = baseUrlValid + sourceUrlValid;
|
||||
log('SessionUtils::toQualifiedUrl():qualifiedUrl: $qualifiedUrl');
|
||||
return Uri.parse(qualifiedUrl);
|
||||
} else {
|
||||
final qualifiedUrl = toString().removeLastSlashOfUrl();
|
||||
log('SessionUtils::toQualifiedUrl():qualifiedUrl: $qualifiedUrl');
|
||||
return Uri.parse(qualifiedUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool get hasOrigin {
|
||||
try {
|
||||
return origin.isNotEmpty;
|
||||
} catch (e) {
|
||||
logError('URIExtension::hasOrigin:Exception = $e');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -55,5 +55,35 @@ void main() {
|
||||
|
||||
expect(qualifiedUrlResult, equals(qualifiedUrlExpected));
|
||||
});
|
||||
|
||||
test('convertToQualifiedUrl() should return qualified url when baseUrl is `https://domain.com:2000/jmap` and sourceUrl is `https://domain.com:2001/jmap`', () async {
|
||||
final baseUrl = Uri.parse('https://domain.com:2000/jmap');
|
||||
final sourceUrl = Uri.parse('https://domain.com:2001/jmap');
|
||||
|
||||
final qualifiedUrlExpected = Uri.parse('https://domain.com:2001/jmap');
|
||||
final qualifiedUrlResult = sourceUrl.toQualifiedUrl(baseUrl: baseUrl);
|
||||
|
||||
expect(qualifiedUrlResult, equals(qualifiedUrlExpected));
|
||||
});
|
||||
|
||||
test('convertToQualifiedUrl() should return qualified url when baseUrl is `https://domain.com:2000/jmap` and sourceUrl is `https://domain.com:2001/jmap/`', () async {
|
||||
final baseUrl = Uri.parse('https://domain.com:2000/jmap');
|
||||
final sourceUrl = Uri.parse('https://domain.com:2001/jmap/');
|
||||
|
||||
final qualifiedUrlExpected = Uri.parse('https://domain.com:2001/jmap');
|
||||
final qualifiedUrlResult = sourceUrl.toQualifiedUrl(baseUrl: baseUrl);
|
||||
|
||||
expect(qualifiedUrlResult, equals(qualifiedUrlExpected));
|
||||
});
|
||||
|
||||
test('convertToQualifiedUrl() should return qualified url when baseUrl is `https://domain.com:20001/jmap` and sourceUrl is `https://domain.com:2001/jmap`', () async {
|
||||
final baseUrl = Uri.parse('https://domain.com:2001/jmap');
|
||||
final sourceUrl = Uri.parse('https://domain.com:2001/jmap');
|
||||
|
||||
final qualifiedUrlExpected = Uri.parse('https://domain.com:2001/jmap');
|
||||
final qualifiedUrlResult = sourceUrl.toQualifiedUrl(baseUrl: baseUrl);
|
||||
|
||||
expect(qualifiedUrlResult, equals(qualifiedUrlExpected));
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user