msxml3: Clear request headers on Open().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
4ab21edfb1
commit
f6bfc309ed
|
@ -176,6 +176,19 @@ static void free_response_headers(httprequest *This)
|
||||||
This->raw_respheaders = NULL;
|
This->raw_respheaders = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void free_request_headers(httprequest *This)
|
||||||
|
{
|
||||||
|
struct httpheader *header, *header2;
|
||||||
|
|
||||||
|
LIST_FOR_EACH_ENTRY_SAFE(header, header2, &This->reqheaders, struct httpheader, entry)
|
||||||
|
{
|
||||||
|
list_remove(&header->entry);
|
||||||
|
SysFreeString(header->header);
|
||||||
|
SysFreeString(header->value);
|
||||||
|
heap_free(header);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct BindStatusCallback
|
struct BindStatusCallback
|
||||||
{
|
{
|
||||||
IBindStatusCallback IBindStatusCallback_iface;
|
IBindStatusCallback IBindStatusCallback_iface;
|
||||||
|
@ -888,6 +901,7 @@ static HRESULT httprequest_open(httprequest *This, BSTR method, BSTR url,
|
||||||
SysFreeString(This->user);
|
SysFreeString(This->user);
|
||||||
SysFreeString(This->password);
|
SysFreeString(This->password);
|
||||||
This->user = This->password = NULL;
|
This->user = This->password = NULL;
|
||||||
|
free_request_headers(This);
|
||||||
|
|
||||||
if (!strcmpiW(method, MethodGetW))
|
if (!strcmpiW(method, MethodGetW))
|
||||||
{
|
{
|
||||||
|
@ -1273,8 +1287,6 @@ static HRESULT httprequest_put_onreadystatechange(httprequest *This, IDispatch *
|
||||||
|
|
||||||
static void httprequest_release(httprequest *This)
|
static void httprequest_release(httprequest *This)
|
||||||
{
|
{
|
||||||
struct httpheader *header, *header2;
|
|
||||||
|
|
||||||
if (This->site)
|
if (This->site)
|
||||||
IUnknown_Release( This->site );
|
IUnknown_Release( This->site );
|
||||||
if (This->uri)
|
if (This->uri)
|
||||||
|
@ -1286,15 +1298,8 @@ static void httprequest_release(httprequest *This)
|
||||||
SysFreeString(This->user);
|
SysFreeString(This->user);
|
||||||
SysFreeString(This->password);
|
SysFreeString(This->password);
|
||||||
|
|
||||||
/* request headers */
|
/* cleanup headers lists */
|
||||||
LIST_FOR_EACH_ENTRY_SAFE(header, header2, &This->reqheaders, struct httpheader, entry)
|
free_request_headers(This);
|
||||||
{
|
|
||||||
list_remove(&header->entry);
|
|
||||||
SysFreeString(header->header);
|
|
||||||
SysFreeString(header->value);
|
|
||||||
heap_free(header);
|
|
||||||
}
|
|
||||||
/* response headers */
|
|
||||||
free_response_headers(This);
|
free_response_headers(This);
|
||||||
SysFreeString(This->status_text);
|
SysFreeString(This->status_text);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue