----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/102822/#review7283 -----------------------------------------------------------
Ship it! kioslave/http/http.cpp <http://git.reviewboard.kde.org/r/102822/#comment6377> I guess the parser just lowercases the key ("keep-alive"), not the values. Lowercasing the keys is okay because per the spec they are case-insensitive, and it has the advantage that you can look up keys in more or less constant time when using a hashtable. In many cases the values are case sensitive (usernames, something Base64-encoded for example), so the parser better leaves them alone. So you need to normalize the case yourself. - Andreas Hartmetz On Oct. 10, 2011, 10:35 p.m., Andrea Iacovitti wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/102822/ > ----------------------------------------------------------- > > (Updated Oct. 10, 2011, 10:35 p.m.) > > > Review request for kdelibs, Andreas Hartmetz and Dawit Alemayehu. > > > Description > ------- > > Keep-alive header can specify multiple, comma-separated, value pairs. > For example what apache web server normally sends is something like that: > > "Keep-Alive: timeout=5, max=99" > > Actually kio_http fails to extract timeout value because it assumes > keep-alive header can contain only a single value pair. > In the case of example above what it end up to do is > m_request.keepAliveTimeout = QString("5, max=99").toInt(), that returns 0 > (wrong!). > > > Diffs > ----- > > kioslave/http/http.cpp 2862707 > kioslave/http/parsinghelpers.cpp fc75d68 > > Diff: http://git.reviewboard.kde.org/r/102822/diff/diff > > > Testing > ------- > > -Patched code compiles > -Hacked a web server and made tests against following keep-alive header > variants: > "Keep-Alive: timeout=5, max=99" > "Keep-Alive: Timeout=5, max=99" (uppercase 'T') > "Keep-Alive: Timeout=5 , max=99" (extra space before comma) > > > Thanks, > > Andrea Iacovitti > >