Skip to content

Only add schemes to URLs with hostnames#1258

Merged
nmielnik merged 1 commit into
yabwe:masterfrom
kevindew:single-slash-link
Feb 9, 2017
Merged

Only add schemes to URLs with hostnames#1258
nmielnik merged 1 commit into
yabwe:masterfrom
kevindew:single-slash-link

Conversation

@kevindew

@kevindew kevindew commented Dec 10, 2016

Copy link
Copy Markdown
Contributor
Q A
Bug fix? yes
New feature? yes
BC breaks? no
Deprecations? no
New tests added? yes
Fixed tickets #1250
License MIT

Description

Fixes: #1250

This changes the way a scheme is prefixed to a URL when linkValidation
is on. Previously any URL that did not match the scheme regex would be
prefixed with 'http://' which meant that an absolute path such as '/'
would be changed to 'http:///'

This changes it so that the 'http://' is only prefixed if the first part
of the path looks like a hostname, which allows absolute paths to be
unchanged and most relative paths to be unchanged.

I say most as a path such as "test.txt" would be matched as a hostname and
converted to 'http://test.txt' but this seems an acceptable trade off
and definitely better than trying to store a list of valid TLDs so
filenames and hostnames can be determined.

@coveralls

Copy link
Copy Markdown

Coverage Status

Changes Unknown when pulling 3dfc087 on kevindew:single-slash-link into ** on yabwe:master**.

@nmielnik

nmielnik commented Feb 5, 2017

Copy link
Copy Markdown
Member

@kevindew looks like this conflicts with your previous change that got merged in. Could you fix the merge conflict and then we can get this guy in too?

Fixes: yabwe#1250

This changes the way a scheme is prefixed to a URL when linkValidation
is on. Previously any URL that did not match the scheme regex would be
prefixed with 'http://' which meant that an absolute path such as '/'
would be changed to 'http:///'

This changes it so that the 'http://' is only prefixed if the first part
of the path looks like a hostname, which allows absolute paths to be
unchanged and most relative paths to be unchanged.

I say most as a path such as "test.txt" would be matched as a hostname and
converted to 'http://test.txt' but this seems an acceptable trade off
and definitely better than trying to store a list of valid TLDs so
filenames and hostnames can be determined.
@coveralls

Copy link
Copy Markdown

Coverage Status

Changes Unknown when pulling 6d67581 on kevindew:single-slash-link into ** on yabwe:master**.

@kevindew

kevindew commented Feb 8, 2017

Copy link
Copy Markdown
Contributor Author

@nmielnik sure, I've rebased it against master now.

@nmielnik

nmielnik commented Feb 9, 2017

Copy link
Copy Markdown
Member

Awesome, all the tests pass in saucelabs, thanks for this @kevindew !

@nmielnik
nmielnik merged commit 05a0037 into yabwe:master Feb 9, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

linkValidation bug in IE?

4 participants