#pragma once
#include "normalresponse.h"

class CFileResponse :
	public CNormalResponse
{
public:
	CFileResponse(CServer *server,CWorkspaceAccess context,CRequest request,CAlias alias);
	virtual ~CFileResponse(void);

	virtual void PreCreateResponse() {};			//	1:レスポンス生成準備		
	virtual void SetNextData(CBuffer &data) {};		//	2:受信データの設定(繰り返し)
	virtual void CreateResponse();					//	3:レスポンスの生成
	virtual __int64 GetResponseSize();				//	4:レスポンスサイズの取得
//	virtual CWorkspaceAccess GetResponseInfo();		//	5:レスポンス情報を取得
	virtual int GetNextData(CBuffer &data);			//	6:レスポンスの取得

	CString	GetETag(CFile &file);
	int CheckUpdate(CTime date);
	int CheckETag(CFile &file);

protected:
	int CheckRange();							//	レジューム処理

	CFile			m_file;						//	ファイル
};
