ReactOS 0.4.16-dev-112-g52265ae
|
#include "config.h"
#include "ws2tcpip.h"
#include <stdarg.h>
#include <assert.h>
#include "windef.h"
#include "winbase.h"
#include "ole2.h"
#include "initguid.h"
#include "httprequest.h"
#include "httprequestid.h"
#include "schannel.h"
#include "winhttp.h"
#include "wine/debug.h"
#include "winhttp_private.h"
Go to the source code of this file.
Classes | |
struct | winhttp_request |
struct | stream |
Enumerations | |
enum | escape_flags { ESCAPE_FLAG_NON_PRINTABLE = 0x01 , ESCAPE_FLAG_SPACE = 0x02 , ESCAPE_FLAG_PERCENT = 0x04 , ESCAPE_FLAG_UNSAFE = 0x08 , ESCAPE_FLAG_DEL = 0x10 , ESCAPE_FLAG_8BIT = 0x20 , ESCAPE_FLAG_STRIP_CRLF = 0x40 } |
enum | request_state { REQUEST_STATE_INITIALIZED , REQUEST_STATE_CANCELLED , REQUEST_STATE_OPEN , REQUEST_STATE_SENT , REQUEST_STATE_RESPONSE_RECEIVED } |
enum | type_id { INetFwAuthorizedApplication_tid , INetFwAuthorizedApplications_tid , INetFwMgr_tid , INetFwOpenPort_tid , INetFwOpenPorts_tid , INetFwPolicy_tid , INetFwPolicy2_tid , INetFwProfile_tid , INetFwRules_tid , IUPnPNAT_tid , last_tid , ISWbemLocator_tid , ISWbemObject_tid , ISWbemObjectSet_tid , ISWbemProperty_tid , ISWbemPropertySet_tid , ISWbemServices_tid , ISWbemSecurity_tid , last_tid , IWinHttpRequest_tid , last_tid } |
Variables | |
static const WCHAR | attr_accept [] = {'A','c','c','e','p','t',0} |
static const WCHAR | attr_accept_charset [] = {'A','c','c','e','p','t','-','C','h','a','r','s','e','t', 0} |
static const WCHAR | attr_accept_encoding [] = {'A','c','c','e','p','t','-','E','n','c','o','d','i','n','g',0} |
static const WCHAR | attr_accept_language [] = {'A','c','c','e','p','t','-','L','a','n','g','u','a','g','e',0} |
static const WCHAR | attr_accept_ranges [] = {'A','c','c','e','p','t','-','R','a','n','g','e','s',0} |
static const WCHAR | attr_age [] = {'A','g','e',0} |
static const WCHAR | attr_allow [] = {'A','l','l','o','w',0} |
static const WCHAR | attr_authorization [] = {'A','u','t','h','o','r','i','z','a','t','i','o','n',0} |
static const WCHAR | attr_cache_control [] = {'C','a','c','h','e','-','C','o','n','t','r','o','l',0} |
static const WCHAR | attr_connection [] = {'C','o','n','n','e','c','t','i','o','n',0} |
static const WCHAR | attr_content_base [] = {'C','o','n','t','e','n','t','-','B','a','s','e',0} |
static const WCHAR | attr_content_encoding [] = {'C','o','n','t','e','n','t','-','E','n','c','o','d','i','n','g',0} |
static const WCHAR | attr_content_id [] = {'C','o','n','t','e','n','t','-','I','D',0} |
static const WCHAR | attr_content_language [] = {'C','o','n','t','e','n','t','-','L','a','n','g','u','a','g','e',0} |
static const WCHAR | attr_content_length [] = {'C','o','n','t','e','n','t','-','L','e','n','g','t','h',0} |
static const WCHAR | attr_content_location [] = {'C','o','n','t','e','n','t','-','L','o','c','a','t','i','o','n',0} |
static const WCHAR | attr_content_md5 [] = {'C','o','n','t','e','n','t','-','M','D','5',0} |
static const WCHAR | attr_content_range [] = {'C','o','n','t','e','n','t','-','R','a','n','g','e',0} |
static const WCHAR | attr_content_transfer_encoding [] = {'C','o','n','t','e','n','t','-','T','r','a','n','s','f','e','r','-','E','n','c','o','d','i','n','g',0} |
static const WCHAR | attr_content_type [] = {'C','o','n','t','e','n','t','-','T','y','p','e',0} |
static const WCHAR | attr_cookie [] = {'C','o','o','k','i','e',0} |
static const WCHAR | attr_date [] = {'D','a','t','e',0} |
static const WCHAR | attr_from [] = {'F','r','o','m',0} |
static const WCHAR | attr_etag [] = {'E','T','a','g',0} |
static const WCHAR | attr_expect [] = {'E','x','p','e','c','t',0} |
static const WCHAR | attr_expires [] = {'E','x','p','i','r','e','s',0} |
static const WCHAR | attr_host [] = {'H','o','s','t',0} |
static const WCHAR | attr_if_match [] = {'I','f','-','M','a','t','c','h',0} |
static const WCHAR | attr_if_modified_since [] = {'I','f','-','M','o','d','i','f','i','e','d','-','S','i','n','c','e',0} |
static const WCHAR | attr_if_none_match [] = {'I','f','-','N','o','n','e','-','M','a','t','c','h',0} |
static const WCHAR | attr_if_range [] = {'I','f','-','R','a','n','g','e',0} |
static const WCHAR | attr_if_unmodified_since [] = {'I','f','-','U','n','m','o','d','i','f','i','e','d','-','S','i','n','c','e',0} |
static const WCHAR | attr_last_modified [] = {'L','a','s','t','-','M','o','d','i','f','i','e','d',0} |
static const WCHAR | attr_location [] = {'L','o','c','a','t','i','o','n',0} |
static const WCHAR | attr_max_forwards [] = {'M','a','x','-','F','o','r','w','a','r','d','s',0} |
static const WCHAR | attr_mime_version [] = {'M','i','m','e','-','V','e','r','s','i','o','n',0} |
static const WCHAR | attr_pragma [] = {'P','r','a','g','m','a',0} |
static const WCHAR | attr_proxy_authenticate [] = {'P','r','o','x','y','-','A','u','t','h','e','n','t','i','c','a','t','e',0} |
static const WCHAR | attr_proxy_authorization [] = {'P','r','o','x','y','-','A','u','t','h','o','r','i','z','a','t','i','o','n',0} |
static const WCHAR | attr_proxy_connection [] = {'P','r','o','x','y','-','C','o','n','n','e','c','t','i','o','n',0} |
static const WCHAR | attr_public [] = {'P','u','b','l','i','c',0} |
static const WCHAR | attr_range [] = {'R','a','n','g','e',0} |
static const WCHAR | attr_referer [] = {'R','e','f','e','r','e','r',0} |
static const WCHAR | attr_retry_after [] = {'R','e','t','r','y','-','A','f','t','e','r',0} |
static const WCHAR | attr_server [] = {'S','e','r','v','e','r',0} |
static const WCHAR | attr_set_cookie [] = {'S','e','t','-','C','o','o','k','i','e',0} |
static const WCHAR | attr_status [] = {'S','t','a','t','u','s',0} |
static const WCHAR | attr_transfer_encoding [] = {'T','r','a','n','s','f','e','r','-','E','n','c','o','d','i','n','g',0} |
static const WCHAR | attr_unless_modified_since [] = {'U','n','l','e','s','s','-','M','o','d','i','f','i','e','d','-','S','i','n','c','e',0} |
static const WCHAR | attr_upgrade [] = {'U','p','g','r','a','d','e',0} |
static const WCHAR | attr_uri [] = {'U','R','I',0} |
static const WCHAR | attr_user_agent [] = {'U','s','e','r','-','A','g','e','n','t',0} |
static const WCHAR | attr_vary [] = {'V','a','r','y',0} |
static const WCHAR | attr_via [] = {'V','i','a',0} |
static const WCHAR | attr_warning [] = {'W','a','r','n','i','n','g',0} |
static const WCHAR | attr_www_authenticate [] = {'W','W','W','-','A','u','t','h','e','n','t','i','c','a','t','e',0} |
static const WCHAR * | attribute_table [] |
static const WCHAR | basicW [] = {'B','a','s','i','c',0} |
static const WCHAR | ntlmW [] = {'N','T','L','M',0} |
static const WCHAR | passportW [] = {'P','a','s','s','p','o','r','t',0} |
static const WCHAR | digestW [] = {'D','i','g','e','s','t',0} |
static const WCHAR | negotiateW [] = {'N','e','g','o','t','i','a','t','e',0} |
struct { | |
const WCHAR * str | |
unsigned int len | |
DWORD scheme | |
} | auth_schemes [] |
static CRITICAL_SECTION | connection_pool_cs = { &connection_pool_debug, -1, 0, 0, 0, 0 } |
static CRITICAL_SECTION_DEBUG | connection_pool_debug |
static struct list | connection_pool = LIST_INIT( connection_pool ) |
static BOOL | connection_collector_running |
static ITypeLib * | winhttp_typelib |
static ITypeInfo * | winhttp_typeinfo [last_tid] |
static REFIID | winhttp_tid_id [] |
static const IStreamVtbl | stream_vtbl |
static const struct IWinHttpRequestVtbl | winhttp_request_vtbl |
#define ESCAPE_MASK_DEFAULT |
#define ESCAPE_MASK_DISABLE (ESCAPE_FLAG_SPACE | ESCAPE_FLAG_8BIT | ESCAPE_FLAG_STRIP_CRLF) |
#define ESCAPE_MASK_PERCENT (ESCAPE_FLAG_PERCENT | ESCAPE_MASK_DEFAULT) |
#define QUERY_MODIFIER_MASK (WINHTTP_QUERY_FLAG_REQUEST_HEADERS | WINHTTP_QUERY_FLAG_SYSTEMTIME | WINHTTP_QUERY_FLAG_NUMBER) |
Enumerator | |
---|---|
ESCAPE_FLAG_NON_PRINTABLE | |
ESCAPE_FLAG_SPACE | |
ESCAPE_FLAG_PERCENT | |
ESCAPE_FLAG_UNSAFE | |
ESCAPE_FLAG_DEL | |
ESCAPE_FLAG_8BIT | |
ESCAPE_FLAG_STRIP_CRLF |
Definition at line 2082 of file request.c.
Enumerator | |
---|---|
REQUEST_STATE_INITIALIZED | |
REQUEST_STATE_CANCELLED | |
REQUEST_STATE_OPEN | |
REQUEST_STATE_SENT | |
REQUEST_STATE_RESPONSE_RECEIVED |
Definition at line 1819 of file request.c.
Referenced by handle_redirect(), and send_request().
BOOL add_request_headers | ( | struct request * | request, |
const WCHAR * | headers, | ||
DWORD | len, | ||
DWORD | flags | ||
) |
Definition at line 495 of file request.c.
Referenced by add_cookie_headers(), send_request(), and WinHttpAddRequestHeaders().
|
static |
Definition at line 1462 of file request.c.
Referenced by open_connection().
Definition at line 1120 of file request.c.
Referenced by do_authorization().
Definition at line 911 of file request.c.
Referenced by get_authvalue(), and query_auth_schemes().
Definition at line 573 of file request.c.
Referenced by build_request_string(), and build_wire_path().
Definition at line 1392 of file request.c.
Referenced by secure_proxy_connect().
Definition at line 603 of file request.c.
Referenced by query_headers().
Definition at line 2159 of file request.c.
Referenced by build_wire_request().
Definition at line 2203 of file request.c.
Referenced by send_request().
Definition at line 1556 of file request.c.
Referenced by finished_reading().
|
static |
Definition at line 3225 of file request.c.
Referenced by reset_request(), winhttp_request_Abort(), and winhttp_request_Release().
Definition at line 1842 of file request.c.
Referenced by send_request().
Definition at line 1809 of file request.c.
|
static |
Definition at line 1513 of file request.c.
Referenced by cache_connection().
Definition at line 1058 of file request.c.
Referenced by do_authorization().
Definition at line 1048 of file request.c.
Referenced by decode_base64().
Definition at line 415 of file request.c.
Referenced by clear_response_headers(), handle_redirect(), and process_header().
|
static |
Definition at line 184 of file request.c.
Referenced by task_proc().
Definition at line 1138 of file request.c.
Referenced by do_authorization().
Definition at line 1891 of file request.c.
Referenced by start_next_chunk().
Definition at line 1163 of file request.c.
Referenced by handle_authorization(), and send_request().
Definition at line 2063 of file request.c.
Referenced by send_request().
Definition at line 1007 of file request.c.
Referenced by do_authorization().
Definition at line 2010 of file request.c.
Referenced by query_data_available(), and read_data().
Definition at line 1605 of file request.c.
|
static |
Definition at line 1975 of file request.c.
Referenced by read_data().
Definition at line 297 of file request.c.
Referenced by add_request_headers(), parse_header(), and read_reply().
|
static |
Definition at line 3254 of file request.c.
Referenced by winhttp_request_Release().
|
static |
Definition at line 1151 of file request.c.
Referenced by do_authorization().
Definition at line 2003 of file request.c.
Referenced by query_data_available(), and read_data().
|
static |
Definition at line 376 of file request.c.
Referenced by handle_redirect(), process_header(), and query_headers().
Definition at line 3343 of file request.c.
Referenced by winhttp_request_GetIDsOfNames(), winhttp_request_GetTypeInfo(), and winhttp_request_Invoke().
Definition at line 2469 of file request.c.
Referenced by receive_response().
Definition at line 2824 of file request.c.
Referenced by receive_response().
Definition at line 2698 of file request.c.
Referenced by receive_response().
Definition at line 4383 of file request.c.
Referenced by stream_AddRef(), stream_QueryInterface(), stream_Read(), stream_Release(), and stream_Seek().
|
inlinestatic |
Definition at line 3212 of file request.c.
Referenced by winhttp_request_Abort(), winhttp_request_AddRef(), winhttp_request_get_Option(), winhttp_request_get_ResponseBody(), winhttp_request_get_ResponseStream(), winhttp_request_get_ResponseText(), winhttp_request_get_Status(), winhttp_request_get_StatusText(), winhttp_request_GetAllResponseHeaders(), winhttp_request_GetIDsOfNames(), winhttp_request_GetResponseHeader(), winhttp_request_GetTypeInfo(), winhttp_request_GetTypeInfoCount(), winhttp_request_Invoke(), winhttp_request_Open(), winhttp_request_put_Option(), winhttp_request_QueryInterface(), winhttp_request_Release(), winhttp_request_Send(), winhttp_request_SetAutoLogonPolicy(), winhttp_request_SetCredentials(), winhttp_request_SetProxy(), winhttp_request_SetRequestHeader(), winhttp_request_SetTimeouts(), and winhttp_request_WaitForResponse().
|
static |
Definition at line 3589 of file request.c.
Referenced by WinHttpRequest_create().
Definition at line 396 of file request.c.
Referenced by process_header().
Definition at line 2809 of file request.c.
Referenced by receive_response().
Definition at line 1594 of file request.c.
Referenced by ensure_cred_handle().
|
inlinestatic |
Definition at line 2098 of file request.c.
Referenced by escape_string().
Definition at line 1636 of file request.c.
Referenced by handle_redirect(), and send_request().
Definition at line 325 of file request.c.
Referenced by add_request_headers(), and read_reply().
BOOL process_header | ( | struct request * | request, |
const WCHAR * | field, | ||
const WCHAR * | value, | ||
DWORD | flags, | ||
BOOL | request_only | ||
) |
Definition at line 430 of file request.c.
Referenced by add_accept_types_header(), add_host_header(), add_request_headers(), do_authorization(), handle_passport_redirect(), read_reply(), and send_request().
|
static |
Definition at line 923 of file request.c.
Referenced by handle_authorization(), and WinHttpQueryAuthSchemes().
Definition at line 2962 of file request.c.
Referenced by task_query_data_available(), and WinHttpQueryDataAvailable().
|
static |
Definition at line 651 of file request.c.
Referenced by finished_reading(), get_authvalue(), get_redirect_url(), is_passport_request(), query_auth_schemes(), receive_response(), set_content_length(), and WinHttpQueryHeaders().
|
static |
Definition at line 252 of file request.c.
Referenced by WinHttpQueryDataAvailable(), WinHttpReadData(), WinHttpReceiveResponse(), WinHttpSendRequest(), and WinHttpWriteData().