Module: wine Branch: master Commit: 8063f5cbd4332b8d66d4adc2a390f76d1875fd7c URL: http://source.winehq.org/git/wine.git/?a=commit;h=8063f5cbd4332b8d66d4adc2a3...
Author: Hans Leidekker hans@codeweavers.com Date: Wed Sep 3 12:30:44 2008 +0200
winhttp: Move handling of default request parameters into build_request_string().
---
dlls/winhttp/request.c | 14 +++++++++++--- dlls/winhttp/session.c | 14 +++----------- 2 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c index b0b81f0..66d2abd 100644 --- a/dlls/winhttp/request.c +++ b/dlls/winhttp/request.c @@ -458,17 +458,25 @@ BOOL WINAPI WinHttpAddRequestHeaders( HINTERNET hrequest, LPCWSTR headers, DWORD return ret; }
-static WCHAR *build_request_string( request_t *request, LPCWSTR verb, LPCWSTR path, LPCWSTR version ) +static WCHAR *build_request_string( request_t *request ) { static const WCHAR space[] = {' ',0}; static const WCHAR crlf[] = {'\r','\n',0}; static const WCHAR colon[] = {':',' ',0}; static const WCHAR twocrlf[] = {'\r','\n','\r','\n',0}; + static const WCHAR get[] = {'G','E','T',0}; + static const WCHAR slash[] = {'/',0}; + static const WCHAR http1_1[] = {'H','T','T','P','/','1','.','1',0};
WCHAR *ret; const WCHAR **headers, **p; + const WCHAR *verb = get, *path = slash, *version = http1_1; unsigned int len, i = 0, j;
+ if (request->verb && request->verb[0]) verb = request->verb; + if (request->path && request->path[0]) path = request->path; + if (request->version && request->version[0]) version = request->version; + /* allocate space for an array of all the string pointers to be added */ len = request->num_headers * 4 + 7; if (!(headers = heap_alloc( len * sizeof(LPCWSTR) ))) return NULL; @@ -537,7 +545,7 @@ static BOOL query_headers( request_t *request, DWORD level, LPCWSTR name, LPVOID DWORD len;
if (request_only) - headers = build_request_string( request, request->verb, request->path, request->version ); + headers = build_request_string( request ); else headers = request->raw_headers;
@@ -752,7 +760,7 @@ static BOOL send_request( request_t *request, LPCWSTR headers, DWORD headers_len }
if (!(ret = open_connection( request ))) goto end; - if (!(req = build_request_string( request, request->verb, request->path, request->version ))) goto end; + if (!(req = build_request_string( request ))) goto end;
if (!(req_ascii = strdupWA( req ))) goto end; TRACE("full request: %s\n", debugstr_a(req_ascii)); diff --git a/dlls/winhttp/session.c b/dlls/winhttp/session.c index 9b66dcc..885a4a4 100644 --- a/dlls/winhttp/session.c +++ b/dlls/winhttp/session.c @@ -232,10 +232,6 @@ static const object_vtbl_t request_vtbl = HINTERNET WINAPI WinHttpOpenRequest( HINTERNET hconnect, LPCWSTR verb, LPCWSTR object, LPCWSTR version, LPCWSTR referrer, LPCWSTR *types, DWORD flags ) { - static const WCHAR get[] = {'G','E','T',0}; - static const WCHAR slash[] = {'/',0}; - static const WCHAR http1_1[] = {'H','T','T','P','/','1','.','1',0}; - request_t *request; connect_t *connect; HINTERNET hrequest = NULL; @@ -272,13 +268,9 @@ HINTERNET WINAPI WinHttpOpenRequest( HINTERNET hconnect, LPCWSTR verb, LPCWSTR o
if (!netconn_init( &request->netconn, request->hdr.flags & WINHTTP_FLAG_SECURE )) goto end;
- if (!verb || !*verb) verb = get; - if (!object || !*object) object = slash; - if (!version || !*version) version = http1_1; - - if (!(request->verb = strdupW( verb ))) goto end; - if (!(request->path = strdupW( object ))) goto end; - if (!(request->version = strdupW( version ))) goto end; + if (verb && !(request->verb = strdupW( verb ))) goto end; + if (object && !(request->path = strdupW( object ))) goto end; + if (version && !(request->version = strdupW( version ))) goto end;
if (!(hrequest = alloc_handle( &request->hdr ))) goto end; request->hdr.handle = hrequest;