Hotfix API Url concat incorrect
This commit is contained in:
@@ -10,12 +10,27 @@ extension URIExtension on Uri {
|
|||||||
log('SessionUtils::toQualifiedUrl():qualifiedUrl: $qualifiedUrl');
|
log('SessionUtils::toQualifiedUrl():qualifiedUrl: $qualifiedUrl');
|
||||||
return Uri.parse(qualifiedUrl);
|
return Uri.parse(qualifiedUrl);
|
||||||
} else {
|
} else {
|
||||||
final baseUrlValid = baseUrl.toString().removeLastSlashOfUrl();
|
if (!hasOrigin) {
|
||||||
final sourceUrlValid = toString().addFirstSlashOfUrl().removeLastSlashOfUrl();
|
final baseUrlValid = baseUrl.toString().removeLastSlashOfUrl();
|
||||||
log('SessionUtils::toQualifiedUrl():baseUrlValid: $baseUrlValid | sourceUrlValid: $sourceUrlValid');
|
final sourceUrlValid = toString().addFirstSlashOfUrl().removeLastSlashOfUrl();
|
||||||
final qualifiedUrl = baseUrlValid + sourceUrlValid;
|
log('SessionUtils::toQualifiedUrl():baseUrlValid: $baseUrlValid | sourceUrlValid: $sourceUrlValid');
|
||||||
log('SessionUtils::toQualifiedUrl():qualifiedUrl: $qualifiedUrl');
|
final qualifiedUrl = baseUrlValid + sourceUrlValid;
|
||||||
return Uri.parse(qualifiedUrl);
|
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));
|
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