#pragma once
#include "Context.h"
#include "../ServerException.h"

/*!
	パーサエラー例外
*/
class CParseRequestHeaderException : public CServerErrorExceptionBase
{
public:
	CParseRequestHeaderException() {};
	CParseRequestHeaderException(CUTF8String errorInfo)
	{
		SetCaller(_U8(""));
		SetErrorInfo(_U16("%s"), errorInfo);
		TRACE_U8(_U16("CParseRequestHeaderException: %s\n"), errorInfo);
	}
};


/*!
	HTTPヘッダパーサ
*/
class CHTTPHeaderParser
{
public:
	//!	ヘッダ解析
	static void ParseRequestHeader(CUTF8String &header, CContextRequestInfo requestInfo);

	//!	ヘッダ生成
	static CUTF8String GetResponseHeader(CContextResponseInfo responseInfo);

	//!	レスポンステク氏と取得
	static CUTF8String GetResponseText(int code, CUTF8String responseText = _U8(""));
};
