TF-2903 Add sanitize url function
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class SanitizeUrl {
|
||||
|
||||
final bool defaultToHttps;
|
||||
|
||||
SanitizeUrl({this.defaultToHttps = true});
|
||||
|
||||
final _protocolIdentifierRegex = RegExp(
|
||||
r'^(https?://)',
|
||||
caseSensitive: false,
|
||||
);
|
||||
|
||||
String process(String inputText) {
|
||||
var originalUrl = inputText;
|
||||
|
||||
originalUrl = Uri.decodeFull(originalUrl);
|
||||
|
||||
if (GetUtils.isURL(originalUrl)) {
|
||||
if (!originalUrl.startsWith(_protocolIdentifierRegex)) {
|
||||
originalUrl = (defaultToHttps ? "https://" : "http://") + originalUrl;
|
||||
}
|
||||
} else {
|
||||
originalUrl = '';
|
||||
}
|
||||
log('SanitizeUrl::process:originalUrl = $originalUrl');
|
||||
return originalUrl;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user