20 #include <znc/zncconfig.h>
33 virtual void ReadData(
const char* data,
size_t len);
48 bool PrintHeader(off_t uContentLength,
const CString& sContentType =
"",
unsigned int uStatusId = 200,
const CString& sStatusMsg =
"OK");
55 static void ParseParams(
const CString& sParams, std::map<CString, VCString>& msvsParams);
87 const std::map<CString, VCString>&
GetParams(
bool bPost =
true)
const;
95 static size_t GetParamValues(
const CString& sName, std::set<CString>& ssRet,
const std::map<CString, VCString>& msvsParams,
const CString& sFilter);
97 void WriteFileUncompressed(
CFile& File);
98 void WriteFileGzipped(
CFile& File);
128 #endif // !_HTTPSOCK_H
const CString & GetURIPrefix() const
virtual void ReadData(const char *data, size_t len)
Override these functions for an easy interface when using the Socket Manager Don't bother using these...
const CString & GetPass() const
bool m_bSentHeader
Definition: HTTPSock.h:104
CString m_sPostData
Definition: HTTPSock.h:110
virtual void OnPageRequest(const CString &sURI)=0
void AddHeader(const CString &sName, const CString &sValue)
virtual Csock * GetSockObj(const CString &sHost, unsigned short uPort)=0
bool m_bAcceptGzip
Definition: HTTPSock.h:122
void SetDocRoot(const CString &s)
CString m_sURI
Definition: HTTPSock.h:111
CString GetRequestCookie(const CString &sKey) const
MCString m_msResponseCookies
Definition: HTTPSock.h:124
bool PrintErrorPage(unsigned int uStatusId, const CString &sStatusMsg, const CString &sMessage)
bool m_bDone
Definition: HTTPSock.h:108
const std::map< CString, VCString > & GetParams(bool bPost=true) const
bool PrintHeader(off_t uContentLength, const CString &sContentType="", unsigned int uStatusId=200, const CString &sStatusMsg="OK")
bool m_bLoggedIn
Definition: HTTPSock.h:106
bool SendCookie(const CString &sKey, const CString &sValue)
Base Csock implementation to be used by modules.
Definition: Socket.h:164
CString GetParam(const CString &sName, bool bPost=true, const CString &sFilter="\r\n") const
bool IsLoggedIn() const
Definition: HTTPSock.h:73
Basic socket class.
Definition: Csocket.h:537
Definition: FileUtils.h:30
std::map< CString, VCString > m_msvsPOSTParams
Definition: HTTPSock.h:117
std::vector< CString > VCString
Definition: ZNCString.h:37
const CString & GetUser() const
MCString m_msRequestCookies
Definition: HTTPSock.h:123
virtual bool PrintFile(const CString &sFileName, CString sContentType="")
String class that is used inside ZNC.
Definition: ZNCString.h:67
CString m_sURIPrefix
Definition: HTTPSock.h:125
void SetContentType(const CString &sContentType)
virtual bool OnLogin(const CString &sUser, const CString &sPass)
bool HasParam(const CString &sName, bool bPost=true) const
bool m_bGotHeader
Definition: HTTPSock.h:105
bool m_bPost
Definition: HTTPSock.h:107
CString m_sDocRoot
Definition: HTTPSock.h:115
CString m_sPass
Definition: HTTPSock.h:113
static CString GetDate(time_t tm=0)
const CString & GetDocRoot() const
The base class for your own ZNC modules.
Definition: Modules.h:322
CHTTPSock(CModule *pMod, const CString &sURIPrefix)
const CString & GetContentType() const
CString m_sIfNoneMatch
Definition: HTTPSock.h:121
virtual void ReadLine(const CString &sData)
void SetLoggedIn(bool b)
Definition: HTTPSock.h:68
A dictionary for strings.
Definition: ZNCString.h:538
bool m_bHTTP10Client
Definition: HTTPSock.h:120
const CString & GetParamString() const
MCString m_msHeaders
Definition: HTTPSock.h:119
std::map< CString, VCString > m_msvsGETParams
Definition: HTTPSock.h:118
CString m_sForwardedIP
Definition: HTTPSock.h:116
bool Redirect(const CString &sURL)
virtual bool ForceLogin()
static void ParseParams(const CString &sParams, std::map< CString, VCString > &msvsParams)
void PrintPage(const CString &sPage)
unsigned long m_uPostLen
Definition: HTTPSock.h:109
CString GetRawParam(const CString &sName, bool bPost=true) const
CString m_sContentType
Definition: HTTPSock.h:114
size_t GetParamValues(const CString &sName, VCString &vsRet, bool bPost=true, const CString &sFilter="\r\n") const
CString m_sUser
Definition: HTTPSock.h:112
virtual CString GetRemoteIP()
virtual void Connected()
Override these functions for an easy interface when using the Socket Manager Don't bother using these...
Definition: HTTPSock.h:26