GNOME Bugzilla – Bug 578990
don't send non-idempotent requests on old SoupConnections
Last modified: 2011-12-22 20:51:02 UTC
we should poll connections for readability when they are idle, so that we notice right away when they get closed, rather than trying to write to them first and failing. also, we should time out connections rather than keeping them open forever
setting this up so we're always polling is a little complicated, but we can cheat and just do one quick poll right before trying to use the connection. related to this; we need to make sure that we always open a new connection when sending a non-idempotent request (eg, POST), because if we get a network error after writing the request, we won't know whether or not the server actually processed it or not. (And so we want to minimize the possibility of getting a network error, and so we don't want to use a cached-and-possibly-timed-out connection.) Apparently this is what other browsers do (qv http://www.ietf.org/mail-archive/web/hybi/current/msg00391.html).
updating summary to reflect remaining part of the bug
fixed the remaining part (and re-fixed the earlier part to work with Windows too)