[len header]: \r\n
[header parm name] \0 [header parm value] \0 \r\n
[header parm name] \0 [header parm value] \0 \r\n
...
,\r\n
[POST DATA]
[len header]: \r\n
[header parm name] \0 [header parm value] \0 \r\n
[header parm name] \0 [header parm value] \0 \r\n
...
,\r\n
[POST DATA]
location /dictionary {
scgi_pass localhost:8080;
include scgi_params;
}
scgi.addHandler("/post", reinterpret_cast<IScgiHandler *>(new Handler1()));
map< string,string > * parms - ,
char * buffUot - .
class Handler1 : public IScgiHandler { void run ( map < string,string > * parms, char * buffUot ) { string parm = getParam ( "REQUEST_METHOD" ,parms ) ; // POST if ( parm == "POST" ) { // WEB-client POST strcpy ( buffUot, getParam ( "POST_DATA" ,parms ) . c_str ( ) ) ; return ; } // WEB-client QUERY_STRING strcpy ( buffUot, getParam ( "QUERY_STRING" ,parms ) . c_str ( ) ) ; } } ;
class Handler1 : public IScgiHandler { void run ( map < string,string > * parms, char * buffUot ) { string parm = getParam ( "REQUEST_METHOD" ,parms ) ; // POST if ( parm == "POST" ) { // WEB-client POST strcpy ( buffUot, getParam ( "POST_DATA" ,parms ) . c_str ( ) ) ; return ; } // WEB-client QUERY_STRING strcpy ( buffUot, getParam ( "QUERY_STRING" ,parms ) . c_str ( ) ) ; } } ;
class Handler1 : public IScgiHandler { void run ( map < string,string > * parms, char * buffUot ) { string parm = getParam ( "REQUEST_METHOD" ,parms ) ; // POST if ( parm == "POST" ) { // WEB-client POST strcpy ( buffUot, getParam ( "POST_DATA" ,parms ) . c_str ( ) ) ; return ; } // WEB-client QUERY_STRING strcpy ( buffUot, getParam ( "QUERY_STRING" ,parms ) . c_str ( ) ) ; } } ;
class Handler1 : public IScgiHandler { void run ( map < string,string > * parms, char * buffUot ) { string parm = getParam ( "REQUEST_METHOD" ,parms ) ; // POST if ( parm == "POST" ) { // WEB-client POST strcpy ( buffUot, getParam ( "POST_DATA" ,parms ) . c_str ( ) ) ; return ; } // WEB-client QUERY_STRING strcpy ( buffUot, getParam ( "QUERY_STRING" ,parms ) . c_str ( ) ) ; } } ;
class Handler1 : public IScgiHandler { void run ( map < string,string > * parms, char * buffUot ) { string parm = getParam ( "REQUEST_METHOD" ,parms ) ; // POST if ( parm == "POST" ) { // WEB-client POST strcpy ( buffUot, getParam ( "POST_DATA" ,parms ) . c_str ( ) ) ; return ; } // WEB-client QUERY_STRING strcpy ( buffUot, getParam ( "QUERY_STRING" ,parms ) . c_str ( ) ) ; } } ;
class Handler1 : public IScgiHandler { void run ( map < string,string > * parms, char * buffUot ) { string parm = getParam ( "REQUEST_METHOD" ,parms ) ; // POST if ( parm == "POST" ) { // WEB-client POST strcpy ( buffUot, getParam ( "POST_DATA" ,parms ) . c_str ( ) ) ; return ; } // WEB-client QUERY_STRING strcpy ( buffUot, getParam ( "QUERY_STRING" ,parms ) . c_str ( ) ) ; } } ;
class Handler1 : public IScgiHandler { void run ( map < string,string > * parms, char * buffUot ) { string parm = getParam ( "REQUEST_METHOD" ,parms ) ; // POST if ( parm == "POST" ) { // WEB-client POST strcpy ( buffUot, getParam ( "POST_DATA" ,parms ) . c_str ( ) ) ; return ; } // WEB-client QUERY_STRING strcpy ( buffUot, getParam ( "QUERY_STRING" ,parms ) . c_str ( ) ) ; } } ;
class Handler1 : public IScgiHandler { void run ( map < string,string > * parms, char * buffUot ) { string parm = getParam ( "REQUEST_METHOD" ,parms ) ; // POST if ( parm == "POST" ) { // WEB-client POST strcpy ( buffUot, getParam ( "POST_DATA" ,parms ) . c_str ( ) ) ; return ; } // WEB-client QUERY_STRING strcpy ( buffUot, getParam ( "QUERY_STRING" ,parms ) . c_str ( ) ) ; } } ;
class Handler1 : public IScgiHandler { void run ( map < string,string > * parms, char * buffUot ) { string parm = getParam ( "REQUEST_METHOD" ,parms ) ; // POST if ( parm == "POST" ) { // WEB-client POST strcpy ( buffUot, getParam ( "POST_DATA" ,parms ) . c_str ( ) ) ; return ; } // WEB-client QUERY_STRING strcpy ( buffUot, getParam ( "QUERY_STRING" ,parms ) . c_str ( ) ) ; } } ;
class Handler1 : public IScgiHandler { void run ( map < string,string > * parms, char * buffUot ) { string parm = getParam ( "REQUEST_METHOD" ,parms ) ; // POST if ( parm == "POST" ) { // WEB-client POST strcpy ( buffUot, getParam ( "POST_DATA" ,parms ) . c_str ( ) ) ; return ; } // WEB-client QUERY_STRING strcpy ( buffUot, getParam ( "QUERY_STRING" ,parms ) . c_str ( ) ) ; } } ;
class Handler1 : public IScgiHandler { void run ( map < string,string > * parms, char * buffUot ) { string parm = getParam ( "REQUEST_METHOD" ,parms ) ; // POST if ( parm == "POST" ) { // WEB-client POST strcpy ( buffUot, getParam ( "POST_DATA" ,parms ) . c_str ( ) ) ; return ; } // WEB-client QUERY_STRING strcpy ( buffUot, getParam ( "QUERY_STRING" ,parms ) . c_str ( ) ) ; } } ;
class Handler1 : public IScgiHandler { void run ( map < string,string > * parms, char * buffUot ) { string parm = getParam ( "REQUEST_METHOD" ,parms ) ; // POST if ( parm == "POST" ) { // WEB-client POST strcpy ( buffUot, getParam ( "POST_DATA" ,parms ) . c_str ( ) ) ; return ; } // WEB-client QUERY_STRING strcpy ( buffUot, getParam ( "QUERY_STRING" ,parms ) . c_str ( ) ) ; } } ;
class Handler1 : public IScgiHandler { void run ( map < string,string > * parms, char * buffUot ) { string parm = getParam ( "REQUEST_METHOD" ,parms ) ; // POST if ( parm == "POST" ) { // WEB-client POST strcpy ( buffUot, getParam ( "POST_DATA" ,parms ) . c_str ( ) ) ; return ; } // WEB-client QUERY_STRING strcpy ( buffUot, getParam ( "QUERY_STRING" ,parms ) . c_str ( ) ) ; } } ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
// scgiServer scgi ; // pid_t pid ; if ( ( pid = scgi. demonize ( ) ) < 1 ) { if ( pid == - 1 ) { cerr << "demonize error \n " ; return 1 ; } return 0 ; } // if ( scgi. init ( "127.0.0.1" , 8080 ) ) { cerr << "server stopped \n " ; return 1 ; } // scgi. addHandler ( "/post" , reinterpret_cast < IScgiHandler * > ( new Handler1 ( ) ) ) ; scgi. addHandler ( "/xxx" , reinterpret_cast < IScgiHandler * > ( new Handler2 ( ) ) ) ; scgi. run ( ) ;
Source: https://habr.com/ru/post/111587/
All Articles