msxml3/httpreq: Support HEAD request.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
cbacc556ec
commit
79f11f2282
|
@ -880,6 +880,7 @@ static HRESULT verify_uri(httprequest *This, IUri *uri)
|
||||||
static HRESULT httprequest_open(httprequest *This, BSTR method, BSTR url,
|
static HRESULT httprequest_open(httprequest *This, BSTR method, BSTR url,
|
||||||
VARIANT async, VARIANT user, VARIANT password)
|
VARIANT async, VARIANT user, VARIANT password)
|
||||||
{
|
{
|
||||||
|
static const WCHAR MethodHeadW[] = {'H','E','A','D',0};
|
||||||
static const WCHAR MethodGetW[] = {'G','E','T',0};
|
static const WCHAR MethodGetW[] = {'G','E','T',0};
|
||||||
static const WCHAR MethodPutW[] = {'P','U','T',0};
|
static const WCHAR MethodPutW[] = {'P','U','T',0};
|
||||||
static const WCHAR MethodPostW[] = {'P','O','S','T',0};
|
static const WCHAR MethodPostW[] = {'P','O','S','T',0};
|
||||||
|
@ -915,6 +916,7 @@ static HRESULT httprequest_open(httprequest *This, BSTR method, BSTR url,
|
||||||
This->verb = BINDVERB_POST;
|
This->verb = BINDVERB_POST;
|
||||||
}
|
}
|
||||||
else if (!strcmpiW(method, MethodDeleteW) ||
|
else if (!strcmpiW(method, MethodDeleteW) ||
|
||||||
|
!strcmpiW(method, MethodHeadW) ||
|
||||||
!strcmpiW(method, MethodPropFindW))
|
!strcmpiW(method, MethodPropFindW))
|
||||||
{
|
{
|
||||||
This->verb = BINDVERB_CUSTOM;
|
This->verb = BINDVERB_CUSTOM;
|
||||||
|
|
|
@ -1731,6 +1731,28 @@ static void test_XMLHTTP(void)
|
||||||
EXPECT_HR(hr, S_OK);
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
IObjectWithSite_Release(obj_site);
|
IObjectWithSite_Release(obj_site);
|
||||||
|
|
||||||
|
/* HEAD request */
|
||||||
|
hr = IXMLHttpRequest_put_onreadystatechange(xhr, NULL);
|
||||||
|
ok(hr == S_OK, "Failed to reset state change handler, hr %#x.\n", hr);
|
||||||
|
|
||||||
|
test_open(xhr, "HEAD", xmltestA, S_OK);
|
||||||
|
|
||||||
|
V_VT(&varbody) = VT_EMPTY;
|
||||||
|
hr = IXMLHttpRequest_send(xhr, varbody);
|
||||||
|
ok(hr == S_OK, "Failed to send HEAD request, hr %#x.\n", hr);
|
||||||
|
|
||||||
|
str = NULL;
|
||||||
|
hr = IXMLHttpRequest_get_responseText(xhr, &str);
|
||||||
|
ok(hr == S_OK, "Failed to get response text, hr %#x.\n", hr);
|
||||||
|
ok(!*str, "Unexpected text %s.\n", wine_dbgstr_w(str));
|
||||||
|
SysFreeString(str);
|
||||||
|
|
||||||
|
hr = IXMLHttpRequest_getAllResponseHeaders(xhr, &str);
|
||||||
|
ok(hr == S_OK, "Failed to get response headers, hr %#x.\n", hr);
|
||||||
|
ok(str && *str, "Expected response headers.\n");
|
||||||
|
SysFreeString(str);
|
||||||
|
|
||||||
IXMLHttpRequest_Release(xhr);
|
IXMLHttpRequest_Release(xhr);
|
||||||
free_bstrs();
|
free_bstrs();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue