void CIndexPage::ProcessRequest ( CHttpServerRequest & request ) { CHttpServerResponse response; response.Vision ( request.Vision() ); response.Message ( 200 ); std::string okstr="Hello world"; response.setContentLength ( okstr.size() ); std::string maintype ( "text" ); std::string subtype ( "plain" ); response.setContentType ( maintype, subtype ); std::string headstr=response.SaveHead(); LPCBUFFER buffer=CBuffer::getBuffer ( 1024 ); memcpy ( buffer->Buffer(),headstr.c_str(),headstr.size() ); buffer->datalen=headstr.size(); baseio->buffer_write ( buffer ); buffer=CBuffer::getBuffer ( 1024 ); memcpy ( buffer->Buffer(),okstr.c_str(),okstr.size() ); buffer->datalen=okstr.size(); baseio->buffer_write ( buffer ); setClose(); }
void MainWindow::setTableManager(TableManager *tm) { this->tm = tm; tm->setTableWidget(ui->tableWidget); // QObject::connect(ui->pushButton_1, SIGNAL(clicked()), SLOT(buttonReceiver())); //QObject::connect(ui->pushButton_2, SIGNAL(clicked()), SLOT(buttonReceiver())); //print data to the TableWidget QObject::connect(ui->pushButton_3, SIGNAL(clicked()), SLOT(buttonReceiver())); QObject::connect(ui->pushButton_4, SIGNAL(clicked()), SLOT(buttonReceiver())); QObject::connect(ui->pushButton_5, SIGNAL(clicked()), SLOT(buttonReceiver())); QObject::connect(ui->pushButton_6, SIGNAL(clicked()), SLOT(buttonReceiver())); QObject::connect(ui->pushButton_7, SIGNAL(clicked()), SLOT(buttonReceiver())); QObject::connect(ui->pushButton_8, SIGNAL(clicked()), SLOT(buttonReceiver())); QObject::connect(ui->pushButton_9, SIGNAL(clicked()), SLOT(buttonReceiver())); //QObject::connect(ui->pushButton_10, SIGNAL(clicked()), SLOT(buttonReceiver())); //transition node QObject::connect(this, SIGNAL(sendButtonIndex(int)), tm, SLOT(setIndex(int))); //close signal QObject::connect(this, SIGNAL(cl()), tm, SLOT(setClose())); //resize MainWindow //QObject::connect(ui->centralwidget, SIGNAL()) }
void CStaticPath::ProcessRequest ( CHttpServerRequest & request ) { std::string fpath = std::string ( ".." ) + request.Uri(); struct stat filestat; if ( stat ( fpath.c_str(),&filestat ) ==0 ) { if ( request.HasHead ( "If-Modified-Since" ) ) { std::string since_time=request.GetHead ( "If-Modified-Since" ); struct tm tm; strptime ( since_time.c_str(), "%a, %d %b %Y %H:%M:%S %Z", &tm ); time_t s_time=timegm ( &tm ); if ( filestat.st_mtime<=s_time ) { CHttpServerResponse response; response.Vision ( request.Vision() ); response.Message ( 304 ); char buf[64]; time_t now = time ( 0 ); strftime ( buf, sizeof ( buf ), "%a, %d %b %Y %H:%M:%S %Z", gmtime ( &now ) ); response.AddHead ( "Date",buf ); now+=60*60*200; strftime ( buf, sizeof ( buf ), "%a, %d %b %Y %H:%M:%S %Z", gmtime ( &now ) ); response.AddHead ( "Expires",buf ); strftime ( buf, sizeof ( buf ), "%a, %d %b %Y %H:%M:%S %Z", gmtime ( &filestat.st_mtime ) ); response.AddHead ( "Modified-time",buf ); std::string headstr=response.SaveHead(); LPCBUFFER buffer=CBuffer::getBuffer ( 1024 ); memcpy ( buffer->Buffer(),headstr.c_str(),headstr.size() ); buffer->datalen=headstr.size(); baseio->buffer_write ( buffer ); setClose(); return; } } FILE *fp=fopen ( fpath.c_str(),"r" ); if ( fp ) { CHttpServerResponse response; response.Vision ( request.Vision() ); response.Message ( 200 ); if ( request.GetHead ( "Connection" ) =="keep-alive" ) response.AddHead ( "Connection","keep-alive" ); response.setContentLength ( filestat.st_size ); response.setContentType ( "text", "html" ); char buf[64]; time_t now = time ( 0 ); strftime ( buf, sizeof ( buf ), "%a, %d %b %Y %H:%M:%S %Z", gmtime ( &now ) ); response.AddHead ( "Date",buf ); now+=60*60*200; strftime ( buf, sizeof ( buf ), "%a, %d %b %Y %H:%M:%S %Z", gmtime ( &now ) ); response.AddHead ( "Expires",buf ); strftime ( buf, sizeof ( buf ), "%a, %d %b %Y %H:%M:%S %Z", gmtime ( &filestat.st_mtime ) ); response.AddHead ( "Last-Modified",buf ); std::string headstr=response.SaveHead(); LPCBUFFER buffer=CBuffer::getBuffer ( 1024 ); memcpy ( buffer->Buffer(),headstr.c_str(),headstr.size() ); buffer->datalen=headstr.size(); baseio->buffer_write ( buffer ); while ( true ) { LPCBUFFER buffer=CBuffer::getBuffer ( 1024 ); int read=fread ( buffer->Buffer(),1,buffer->BufLen(),fp ); if ( read==0 ) break; buffer->datalen=read; baseio->buffer_write ( buffer ); } fclose ( fp ); setClose(); return; } } CHttpServerResponse response; response.Vision ( request.Vision() ); response.Message ( 404 ); std::string headstr=response.SaveHead(); LPCBUFFER buffer=CBuffer::getBuffer ( 1024 ); memcpy ( buffer->Buffer(),headstr.c_str(),headstr.size() ); buffer->datalen=headstr.size(); baseio->buffer_write ( buffer ); setClose(); }