diff options
author | Forrest Voight <forrest@forrest-laptop.(none)> | 2011-05-08 17:10:33 -0400 |
---|---|---|
committer | Forrest Voight <forrest@forrest-laptop.(none)> | 2011-05-08 20:33:46 -0400 |
commit | e6ad2c8792c12d9217f8ac7e76dc25e312e76570 (patch) | |
tree | aaeced45fe810bbdf00ab8230f3fb46d476deaca /rpc.cpp | |
parent | 2fb1124b0fbbc039307f3697d7d550365c21916c (diff) |
Initial commit of changes to make JSON-RPC HTTP headers case-insensitive, as per RFC 2616
Diffstat (limited to 'rpc.cpp')
-rw-r--r-- | rpc.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -1570,10 +1570,11 @@ int ReadHTTPHeader(std::basic_istream<char>& stream, map<string, string>& mapHea { string strHeader = str.substr(0, nColon); boost::trim(strHeader); + boost::to_lower(strHeader); string strValue = str.substr(nColon+1); boost::trim(strValue); mapHeadersRet[strHeader] = strValue; - if (strHeader == "Content-Length") + if (strHeader == "content-length") nLen = atoi(strValue.c_str()); } } @@ -1643,7 +1644,7 @@ string DecodeBase64(string s) bool HTTPAuthorized(map<string, string>& mapHeaders) { - string strAuth = mapHeaders["Authorization"]; + string strAuth = mapHeaders["authorization"]; if (strAuth.substr(0,6) != "Basic ") return false; string strUserPass64 = strAuth.substr(6); boost::trim(strUserPass64); @@ -1872,7 +1873,7 @@ void ThreadRPCServer2(void* parg) } // Check authorization - if (mapHeaders.count("Authorization") == 0) + if (mapHeaders.count("authorization") == 0) { stream << HTTPReply(401, "") << std::flush; continue; |