TF-2305 Fixed getUploadUri and getDownloadUri not working with Cyrus
This commit is contained in:
committed by
Dat H. Pham
parent
c3887b7705
commit
327af38fb0
@@ -5,23 +5,20 @@ extension URIExtension on Uri {
|
||||
|
||||
Uri toQualifiedUrl({required Uri baseUrl}) {
|
||||
log('SessionUtils::toQualifiedUrl():baseUrl: $baseUrl | sourceUrl: $this');
|
||||
if (toString().startsWith(baseUrl.toString())) {
|
||||
final qualifiedUrl = toString().removeLastSlashOfUrl();
|
||||
if (hasOrigin) {
|
||||
final qualifiedUrl = toString();
|
||||
log('SessionUtils::toQualifiedUrl():qualifiedUrl: $qualifiedUrl');
|
||||
return Uri.parse(qualifiedUrl);
|
||||
} else if (toString().isEmpty) {
|
||||
log('SessionUtils::toQualifiedUrl():qualifiedUrl: $baseUrl');
|
||||
return baseUrl;
|
||||
} else {
|
||||
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);
|
||||
}
|
||||
final baseUrlValid = baseUrl.toString().removeLastSlashOfUrl();
|
||||
final sourceUrlValid = toString().addFirstSlashOfUrl();
|
||||
log('SessionUtils::toQualifiedUrl():baseUrlValid: $baseUrlValid | sourceUrlValid: $sourceUrlValid');
|
||||
final qualifiedUrl = baseUrlValid + sourceUrlValid;
|
||||
log('SessionUtils::toQualifiedUrl():qualifiedUrl: $qualifiedUrl');
|
||||
return Uri.parse(qualifiedUrl);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,11 +16,21 @@ void main() {
|
||||
expect(qualifiedUrlResult, equals(qualifiedUrlExpected));
|
||||
});
|
||||
|
||||
test('convertToQualifiedUrl() should return qualified url when baseUrl is `https://domain.com` and sourceUrl is `https://domain.com/jmap/`', () async {
|
||||
final baseUrl = Uri.parse('https://domain.com');
|
||||
final sourceUrl = Uri.parse('https://domain.com/jmap/');
|
||||
|
||||
final qualifiedUrlExpected = Uri.parse('https://domain.com/jmap/');
|
||||
final qualifiedUrlResult = sourceUrl.toQualifiedUrl(baseUrl: baseUrl);
|
||||
|
||||
expect(qualifiedUrlResult, equals(qualifiedUrlExpected));
|
||||
});
|
||||
|
||||
test('convertToQualifiedUrl() should return qualified url when baseUrl is `https://domain.com` and sourceUrl is `/jmap/`', () async {
|
||||
final baseUrl = Uri.parse('https://domain.com');
|
||||
final sourceUrl = Uri.parse('/jmap/');
|
||||
|
||||
final qualifiedUrlExpected = Uri.parse('https://domain.com/jmap');
|
||||
final qualifiedUrlExpected = Uri.parse('https://domain.com/jmap/');
|
||||
final qualifiedUrlResult = sourceUrl.toQualifiedUrl(baseUrl: baseUrl);
|
||||
|
||||
expect(qualifiedUrlResult, equals(qualifiedUrlExpected));
|
||||
@@ -50,7 +60,7 @@ void main() {
|
||||
final baseUrl = Uri.parse('https://domain.com/jmap');
|
||||
final sourceUrl = Uri.parse('/');
|
||||
|
||||
final qualifiedUrlExpected = Uri.parse('https://domain.com/jmap');
|
||||
final qualifiedUrlExpected = Uri.parse('https://domain.com/jmap/');
|
||||
final qualifiedUrlResult = sourceUrl.toQualifiedUrl(baseUrl: baseUrl);
|
||||
|
||||
expect(qualifiedUrlResult, equals(qualifiedUrlExpected));
|
||||
@@ -70,7 +80,7 @@ void main() {
|
||||
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 qualifiedUrlExpected = Uri.parse('https://domain.com:2001/jmap/');
|
||||
final qualifiedUrlResult = sourceUrl.toQualifiedUrl(baseUrl: baseUrl);
|
||||
|
||||
expect(qualifiedUrlResult, equals(qualifiedUrlExpected));
|
||||
@@ -86,7 +96,7 @@ void main() {
|
||||
expect(qualifiedUrlResult, equals(qualifiedUrlExpected));
|
||||
});
|
||||
|
||||
test('convertToQualifiedUrl() should return qualified url when baseUrl is localhost and sourceUrl is `https://domain.com:2001/basiauth/jmap`', () async {
|
||||
test('convertToQualifiedUrl() should return qualified url when baseUrl is localhost and sourceUrl is `https://domain.com:2001/basicauth/jmap`', () async {
|
||||
final baseUrl = Uri.parse('https://localhost:9080/basicauth');
|
||||
final sourceUrl = Uri.parse('https://domain.com:2001/basicauth/jmap');
|
||||
|
||||
@@ -95,5 +105,15 @@ void main() {
|
||||
|
||||
expect(qualifiedUrlResult, equals(qualifiedUrlExpected));
|
||||
});
|
||||
|
||||
test('convertToQualifiedUrl() should return qualified url when baseUrl is localhost and sourceUrl is `https://domain.com:2001/basicauth/jmap/`', () async {
|
||||
final baseUrl = Uri.parse('https://localhost:9080/basicauth');
|
||||
final sourceUrl = Uri.parse('https://domain.com:2001/basicauth/jmap/');
|
||||
|
||||
final qualifiedUrlExpected = Uri.parse('https://domain.com:2001/basicauth/jmap/');
|
||||
final qualifiedUrlResult = sourceUrl.toQualifiedUrl(baseUrl: baseUrl);
|
||||
|
||||
expect(qualifiedUrlResult, equals(qualifiedUrlExpected));
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user