⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scgi.h

📁 C++ web POSIX framewark
💻 H
字号:
#ifndef CPPCMS_SCGI_H#define CPPCMS_SCGI_H#include <cgicc/CgiInput.h>#include <boost/noncopyable.hpp>#include <ostream>#include <streambuf>#include <map>#include <unistd.h>#include "cppcms_error.h"#include "cgi_api.h"namespace cppcms {using namespace std;namespace scgi {	class scgi_outbuffer : public streambuf	{		int fd;	public:		scgi_outbuffer(int descriptor) : fd(descriptor) {};		virtual int overflow ( int c = EOF );		virtual streamsize xsputn(char const *s,streamsize n);		virtual ~scgi_outbuffer();	};};class scgi_session : public cgicc::CgiInput,			public cgi_session,			public cgicc_connection{	int socket;	scgi::scgi_outbuffer buf;	map<string,string> envmap;	cgicc::Cgicc *cgi_ptr;	std::ostream out_stream;public:	scgi_session(int s) :		 socket(s), buf(s), cgi_ptr(NULL), out_stream(&buf)		{};	virtual size_t read(char *data, size_t length);	virtual std::string getenv(const char *var);	virtual cgicc_connection &get_connection();	virtual bool prepare();	virtual string env(char const *variable);	virtual cgicc::Cgicc &cgi();	virtual ostream &cout();	virtual ~scgi_session();};class scgi_api : public cgi_api {	int fd;public:	scgi_api(string socket,int backlog=1);	virtual int get_socket();	virtual cgi_session *accept_session();	virtual ~scgi_api();};};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -