Closed benubois closed 1 year ago
sferik force-pushed the master branch 4 times, most recently from c5e4814 to ccba161 yesterday
@sferik Was this reverted from master due to the force pushes? https://github.com/sferik/twitter/commit/5e090937a7953c7bd74dcf71f8377eb52daf80cf says "This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository."
Hello,
Thanks for this gem!
Addressable::URI.parse
will throw exceptions for URLs it thinks are invalid. The issue with this is that Addressable and Twitter do not agree on what qualifies as a valid URL. So a tweet can contain URL entities that Addressable believes are invalid.Addressable::URI.heuristic_parse
is Addressable's more lenient parser.This will make it so any tainted URLs are parsed with
heuristic_parse
. This way there is less of a chance of encountering anAddressable::URI::InvalidURIError
exception in the wild.For example the tweet below contains the URL
http://suspicio\\.us/URL"
. Which Twitter recognizes as a URL so it shows up as an entity.This throws an exception when calling
tweet.urls.first.expanded_url
.vs
Incidentally, it looks like
Addressable
was first used to help with this same type of issue: #487.This should also fix #742 and #891.