17 #ifndef ZNC_HTTPSOCK_H 18 #define ZNC_HTTPSOCK_H 20 #include <znc/zncconfig.h> 30 const CString& sHostname,
unsigned short uPort,
35 void ReadData(
const char* data,
size_t len)
override;
52 unsigned int uStatusId = 200,
53 const CString& sStatusMsg =
"OK");
62 std::map<CString, VCString>& msvsParams);
93 const CString& sFilter =
"\r\n")
const;
96 const std::map<CString, VCString>&
GetParams(
bool bPost =
true)
const;
99 const CString& sFilter =
"\r\n")
const;
102 const CString& sFilter =
"\r\n")
const;
106 const std::map<CString, VCString>& msvsParams);
108 const std::map<CString, VCString>& msvsParams,
111 const std::map<CString, VCString>& msvsParams,
114 const std::map<CString, VCString>& msvsParams,
117 void WriteFileUncompressed(
CFile& File);
118 void WriteFileGzipped(
CFile& File);
149 #endif // !ZNC_HTTPSOCK_H bool m_bBasicAuth
Definition: HTTPSock.h:129
bool m_bSentHeader
Definition: HTTPSock.h:124
CString GetRemoteIP() const override
CString m_sPostData
Definition: HTTPSock.h:131
virtual void OnPageRequest(const CString &sURI)=0
void AddHeader(const CString &sName, const CString &sValue)
CString GetRawParam(const CString &sName, bool bPost=true) const
CString GetRequestCookie(const CString &sKey) const
bool m_bAcceptGzip
Definition: HTTPSock.h:143
void SetDocRoot(const CString &s)
CString m_sURI
Definition: HTTPSock.h:132
void ReadData(const char *data, size_t len) override
Ready to read data event.
bool IsLoggedIn() const
Definition: HTTPSock.h:80
MCString m_msResponseCookies
Definition: HTTPSock.h:145
bool PrintErrorPage(unsigned int uStatusId, const CString &sStatusMsg, const CString &sMessage)
bool m_bDone
Definition: HTTPSock.h:128
bool PrintHeader(off_t uContentLength, const CString &sContentType="", unsigned int uStatusId=200, const CString &sStatusMsg="OK")
bool m_bLoggedIn
Definition: HTTPSock.h:126
bool SendCookie(const CString &sKey, const CString &sValue)
Base Csock implementation to be used by modules.
Definition: Socket.h:247
Csock * GetSockObj(const CString &sHost, unsigned short uPort) override=0
Basic socket class.
Definition: Csocket.h:563
Definition: FileUtils.h:30
std::map< CString, VCString > m_msvsPOSTParams
Definition: HTTPSock.h:138
std::vector< CString > VCString
Definition: ZNCString.h:38
MCString m_msRequestCookies
Definition: HTTPSock.h:144
virtual bool PrintFile(const CString &sFileName, CString sContentType="")
String class that is used inside ZNC.
Definition: ZNCString.h:68
CString m_sURIPrefix
Definition: HTTPSock.h:146
const CString & GetURI() const
void SetContentType(const CString &sContentType)
const CString & GetContentType() const
bool m_bGotHeader
Definition: HTTPSock.h:125
bool m_bPost
Definition: HTTPSock.h:127
CString m_sDocRoot
Definition: HTTPSock.h:136
CString m_sPass
Definition: HTTPSock.h:134
static CString GetDate(time_t tm=0)
The base class for your own ZNC modules.
Definition: Modules.h:421
CHTTPSock(CModule *pMod, const CString &sURIPrefix)
CString m_sIfNoneMatch
Definition: HTTPSock.h:142
size_t GetParamValues(const CString &sName, VCString &vsRet, bool bPost=true, const CString &sFilter="\") const
void SetLoggedIn(bool b)
Definition: HTTPSock.h:75
A dictionary for strings.
Definition: ZNCString.h:595
bool m_bHTTP10Client
Definition: HTTPSock.h:141
const CString & GetDocRoot() const
const CString & GetURIPrefix() const
CString GetParam(const CString &sName, bool bPost=true, const CString &sFilter="\") const
void ReadLine(const CString &sData) override
MCString m_msHeaders
Definition: HTTPSock.h:140
std::map< CString, VCString > m_msvsGETParams
Definition: HTTPSock.h:139
CString m_sForwardedIP
Definition: HTTPSock.h:137
virtual bool OnLogin(const CString &sUser, const CString &sPass, bool bBasic)
bool Redirect(const CString &sURL)
virtual bool ForceLogin()
const std::map< CString, VCString > & GetParams(bool bPost=true) const
static void ParseParams(const CString &sParams, std::map< CString, VCString > &msvsParams)
bool HasParam(const CString &sName, bool bPost=true) const
void PrintPage(const CString &sPage)
const CString & GetParamString() const
unsigned long m_uPostLen
Definition: HTTPSock.h:130
const CString & GetUser() const
const CString & GetPass() const
void Connected() override
Connected event.
CString m_sContentType
Definition: HTTPSock.h:135
CString m_sUser
Definition: HTTPSock.h:133
Definition: HTTPSock.h:26