ultimatepp/bazaar/Scgi/Scgi.h
micio 2498916537 Bazaar/Scgi : replacement of old Web/ScgiServer with no Web package dependencies
git-svn-id: svn://ultimatepp.org/upp/trunk@6174 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2013-07-07 21:27:01 +00:00

44 lines
1 KiB
C++

#ifndef _ScgiServer_ScgiServer_h
#define _ScgiServer_ScgiServer_h
#include <Core/Core.h>
NAMESPACE_UPP
class Scgi
{
public:
VectorMap<String, String> const &ServerVars(void) const { return serverVars; }
VectorMap<String, String> const &Query(void) const { return query; }
VectorMap<String, String> const &Post(void) const { return post; }
Scgi(int port = 7800);
void Process();
bool Accept();
void Run(int listenCount = 10);
String ClientIP() { return clientIP; }
TcpSocket &ClientSock() { return clientSock; }
// void Write(const String& text) { clientSock.Write(text); }
virtual void OnAccepted() {}
virtual void OnRequest() {}
virtual void OnClosed() {}
private:
int port;
TcpSocket serverSock, clientSock;
String clientIP;
VectorMap<String, String> ParseUri(String const &uri) const;
VectorMap<String, String> serverVars;
VectorMap<String, String> query;
VectorMap<String, String> post;
};
END_UPP_NAMESPACE
#endif