I have attached a patch to add a redirect chain to the Response datatype. Comments on this patch are very welcome.

I was originally going to include the entire Request object in the redirection chain, but Request objects are parameterized with a type 'm', so including a 'Request m' field would force the Response type to be parameterized as well. I felt that would be too large a change, so I made the type of the redirection chain W.Ascii.

Perhaps its worth using the 'forall' keyword to get rid of the pesky 'm' type parameter for Requests?

data RequestBody
    = RequestBodyLBS L.ByteString
    | RequestBodyBS S.ByteString
    | RequestBodyBuilder Int64 Blaze.Builder
    | forall m. RequestBodySource Int64 (C.Source m Blaze.Builder)
    | forall m. RequestBodySourceChunked (C.Source m Blaze.Builder)

--Myles

On Mon, Jan 23, 2012 at 3:31 AM, Michael Snoyman <michael@snoyman.com> wrote:
On Mon, Jan 23, 2012 at 1:20 PM, Aristid Breitkreuz
<aristidb@googlemail.com> wrote:
> Rejecting cookies is not without precedent.
>
> If you must force cookie handling upon us, at least make it possible to
> selectively reject them.
>
> Aristid

If you turn off automatic redirects, then you won't have cookie
handling. I'd be interested to hear of a use case where you would want
to avoid passing cookies after a redirect.

Michael