Peter Serwylo 10144f72c9 Don't upper case QR code that has a URL.
Firstly, this causes #721, possibly due to a bug in "Barcode
Scanner" whereby it seems to ignore the scheme when in caps,
assuming it is "http".

The relevant RFC is:

> RFC3986 (Uniform Resource Identifier (URI): Generic Syntax

In section 3.1, it describes the scheme:

> Although schemes are case-insensitive, the canonical form is
> lowercase and documents that specify schemes must do so with
> lowercase letters.  An implementation should accept uppercase
> letters as equivalent to lowercase in scheme names (e.g., allow
> "HTTP" as well as "http") for the sake of robustness but should
> only produce lowercase scheme names for consistency.

Secondly, it is not valid to uppercase URLs at will. Although it
seems that there is some sort of more-compact-QR-generating-logic
that doesn't justify this. Funnily enough, I can't find anything
in RFC3986 about the case-insensitivity of URI paths. However
consider the following:

 * https://i.imgur.com/fn33EcW.jpg

That is a valid path to an image. If we upper case it:

 * HTTPS://I.IMGUR.COM/FN33ECW.JPG

or lower case it:

 * https://i.imgur.com/fn33ecw.jpg

Then the server is entitled to treat it differently and indeed
it does. Both the upper case and lower case are no both 404's.
2016-07-22 07:48:26 +10:00
..
2016-07-06 20:22:02 +01:00