mirror of
https://github.com/thelounge/thelounge
synced 2024-11-30 07:50:34 +00:00
Do not throw an exception when URI parsing fails
This commit is contained in:
parent
28e32dc558
commit
e4ee3fbb3c
1 changed files with 10 additions and 2 deletions
|
@ -23,8 +23,16 @@ function findLinks(text) {
|
||||||
// See https://medialize.github.io/URI.js/docs.html#static-withinString
|
// See https://medialize.github.io/URI.js/docs.html#static-withinString
|
||||||
// In our case, we store each URI encountered in a result array.
|
// In our case, we store each URI encountered in a result array.
|
||||||
URI.withinString(text, function(url, start, end) {
|
URI.withinString(text, function(url, start, end) {
|
||||||
// Extract the scheme of the URL detected, if there is one
|
let parsedScheme;
|
||||||
const parsedScheme = URI(url).scheme().toLowerCase();
|
|
||||||
|
try {
|
||||||
|
// Extract the scheme of the URL detected, if there is one
|
||||||
|
parsedScheme = URI(url).scheme().toLowerCase();
|
||||||
|
} catch (e) {
|
||||||
|
// URI may throw an exception for malfored urls,
|
||||||
|
// as to why withinString finds these in the first place is a mystery
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if the scheme of the detected URL matches a common one above.
|
// Check if the scheme of the detected URL matches a common one above.
|
||||||
// In a URL like `foo..http://example.com`, the scheme would be `foo..http`,
|
// In a URL like `foo..http://example.com`, the scheme would be `foo..http`,
|
||||||
|
|
Loading…
Reference in a new issue