34 #ifndef COMMON_WINDOWS_HTTP_UPLOAD_H__    35 #define COMMON_WINDOWS_HTTP_UPLOAD_H__    37 #pragma warning( push )    39 #pragma warning( disable : 4530 )     69                           const map<wstring, wstring> ¶meters,
    70                           const wstring &upload_file,
    71                           const wstring &file_part_name,
    73                           wstring *response_body,
    77   class AutoInternetHandle;
    83   static bool HTTPUpload::ReadResponse(HINTERNET request, wstring* response);
    86   static wstring GenerateMultipartBoundary();
    89   static wstring GenerateRequestHeader(
const wstring &boundary);
    94   static bool GenerateRequestBody(
const map<wstring, wstring> ¶meters,
    95                                   const wstring &upload_file,
    96                                   const wstring &file_part_name,
    97                                   const wstring &boundary,
    98                                   string *request_body);
   101   static bool GetFileContents(
const wstring &filename, vector<char> *contents);
   104   static wstring UTF8ToWide(
const string &utf8);
   107   static string WideToUTF8(
const wstring &wide);
   112   static bool CheckParameters(
const map<wstring, wstring> ¶meters);
   124 #pragma warning( pop )   126 #endif  // COMMON_WINDOWS_HTTP_UPLOAD_H__ 
static bool SendRequest(const wstring &url, const map< wstring, wstring > ¶meters, const wstring &upload_file, const wstring &file_part_name, int *timeout, wstring *response_body, int *response_code)