#pragma once
#include "MySocket.h"
#include "Config.h"
#include "TimeOut.h"

/*!
	class CRequest

	リクエストヘッダーの解析と情報の保持を行うクラス
*/
class CRequest
{
public:
	CRequest(CString &header,CConfigAccess requestInfo);
	virtual ~CRequest(void);

private:
	int ParseHeader(CString &header,CConfigAccess requestInfo);	//	ヘッダーの解析を行う
	int GetToken(CString &str,CString &token,CString div);
	int GetLine(CString &str,CString &line);


public:
	CString			m_method;
	CString			m_uri;
	CString			m_uriObject;
	CString			m_version;
	CString			m_query;
	CString			m_queryDecoded;
	CString			m_user;
	CString			m_passwd;

	CConfigAccess	m_requestInfo;		//	リクエスト情報
	CConfigAccess	m_options;			//	リクエスト情報
};
