[mythtv] [mythtv-commits] mythtv commit: r18194 by nigel
Michael T. Dean
mtdean at thirdcontact.com
Mon Aug 25 04:51:36 UTC 2008
On 08/24/2008 11:44 PM, mythtv at cvs.mythtv.org wrote:
> Author: nigel
> Date: 2008-08-25 03:44:45 +0000 (Mon, 25 Aug 2008)
> New Revision: 18194
> Changeset: http://cvs.mythtv.org/trac/changeset/18194
>
> Modified:
>
> trunk/mythtv/libs/libmythdb/httpcomms.cpp
>
> Log:
>
> Merge the correct patch this time.
> Revert [17896], which was breaking complex getHttp() calls. Creating a header
> with the full query from toEncoded() resulted in the server being sent
> GET http://server:port/path?query
> which is too much for most web servers.
Heh. According to the HTTP spec ( http://www.faqs.org/rfcs/rfc2616.html
) section 5.1.2, all HTTP/1.1 servers must accept an absolute URI in
requests.
> They just need path and query.
However, from the same section of the spec, HTTP/1.1 clients should
really only send absolute URI's in requests to proxies, so we really
should ensure we use the absolute path form, as you've done.
Looks like we could use QUrl::toEncoded() (
http://doc.trolltech.com/4.3/qurl.html#toEncoded ), as in the reverted
change, but we need to specify formatting options (
http://doc.trolltech.com/4.3/qurl.html#FormattingOption-enum ). Seems
we'd need QUrl::RemoveScheme | QUrl::RemoveAuthority where scheme is the
"http" (protocol) portion and authority is
<user>:<password>@<hostname>:<port> portion (see
http://doc.trolltech.com/4.3/qurl.html#setAuthority for a nice pretty
picture showing the parts).
> Note 1: I have not tested it against many different urls and web servers.
> (Need a test harness, and a way for the builds to automatically run it)
> Note 2: Not tested with fragments (..... ?#comments)
Note: I have not tested my approach at all. :)
Mike
More information about the mythtv-dev
mailing list