News for hackers. Stuff that matters.
Re:Show HN: Parse no-protocol URL, no-domain URI and email a... by darrenf on Friday June 14, 2019 @06:50AM (#20181927)
To the OP: I would suggest normalising the protocol. Your examples show that you retain the case from the raw data:

    "protocol": "HTTP"
    "protocol": "https"
As it stands, users will end up normalising by themselves and you can save them the effort. FWIW this part is typically called the scheme, not protocol (e.g. Perl has `URI::Find::Schemeless` which performs a similar task)

    URI = scheme:[//authority]path[?query][#fragment]
See https://tools.ietf.org/html/rfc3986#section-3

To that end, you might also want to consider adding support for fragments. :)

Re:Show HN: Parse no-protocol URL, no-domain URI and email a... by felixfbecker on Friday June 14, 2019 @07:56AM (#20182218)
Re:Show HN: Parse no-protocol URL, no-domain URI and email a... by JoBrad on Friday June 14, 2019 @08:04AM (#20182260)
Re:Show HN: Parse no-protocol URL, no-domain URI and email a... by noobiemcfoob on Friday June 14, 2019 @09:16AM (#20182681)
Congratulations! You're all right!
Re:Show HN: Parse no-protocol URL, no-domain URI and email a... by darrenf on Friday June 14, 2019 @08:43AM (#20182493)
Interesting, thanks. I have virtually zero JS experience so didn't know that, and were I to try and pick it up this would've been a surprise to me - I naively assumed it would use the same terminology as the RFC and the libraries in languages with which I am familiar (rust, golang, python, perl). A quick look for the URI data type in a handful of other languages shows they also use "scheme". JS appears to be the outlier here.
Re:Show HN: Parse no-protocol URL, no-domain URI and email a... by seandougall on Friday June 14, 2019 @10:52AM (#20183480)
In particular, the scheme doesn't necessarily refer to a protocol (e.g. application-specific schemes like `chrome:` that don't involve network access at all).