#ifndef __HTTPCLIENT_REQUEST_H__
#define __HTTPCLIENT_REQUEST_H__

#pragma once

#include <string> //for std::wstring
#include <map> //for std::map

typedef void (*DOWNLOAD_CALLBACK)(unsigned long ulDownload, unsigned long ulFileSize);

namespace HttpClient {

	class Request {
	public:
		Request();
		~Request();
		std::wstring method;
		std::wstring hostName;
		unsigned short port;
		std::wstring uri;
		static std::wstring version; //= L"HTTP/1.1"
		std::map<std::wstring, std::wstring> headers;
		std::string body;
		char* pBody;
		bool bDirect;
		unsigned long start;
		BOOL bHttps;
		DOWNLOAD_CALLBACK func;
	};
}

#endif //__HTTPCLIENT_REQUEST_H__