#pragma once

#ifndef UNICODE
#define UNICODE
#endif

#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>

#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0600
#endif
#include <http.h>

#include <string>

class HttpResponse;
class Win32WebRequest;

class Win32WebResponse
{
public:
	Win32WebResponse(const HttpResponse& response);

	HTTP_RESPONSE& getResponse();

	void addRequestContentLength(const Win32WebRequest& request);

private:
	void populateBody(const HttpResponse& response);
	void populateHeader(const HttpResponse& response);

	std::string mResponseReason;
	std::string mContentType;
	std::string mBody;

	std::string mContentLength;
	HTTP_RESPONSE mResponse;
	HTTP_DATA_CHUNK mDataChunk;
};