case-insensitive URI scheme comparison

Required according to RFC 3986:

> An implementation should accept uppercase letters as equivalent to
> lowercase in scheme names

Closes #330
This commit is contained in:
Max Kellermann
2018-08-02 10:38:20 +02:00
parent 116edf5fce
commit 906972973e
17 changed files with 45 additions and 43 deletions

View File

@@ -458,8 +458,8 @@ CurlInputStream::Open(const char *url, Mutex &mutex, Cond &cond)
static InputStream *
input_curl_open(const char *url, Mutex &mutex, Cond &cond)
{
if (strncmp(url, "http://", 7) != 0 &&
strncmp(url, "https://", 8) != 0)
if (!StringStartsWithCaseASCII(url, "http://") &&
!StringStartsWithCaseASCII(url, "https://"))
return nullptr;
return CurlInputStream::Open(url, mutex, cond);