Loading plugins/nginxfiler/filer.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -233,12 +233,12 @@ namespace blogi { cpos=0; try{ if(res.getTransferEncoding() && strcmp(res.getTransferEncoding(),"chunked")==0){ for(libhttppp::HttpHeader::HeaderData::Values *chdat=res.getTransferEncoding(); chdat; chdat=chdat->nextvalue()){ if(chdat->getvalue()=="chunked") chunked=true; }else{ throw "e"; } if(!chunked) throw "e"; }catch(...){ rlen=res.getContentLength(); json.resize(rlen); Loading plugins/youtube/youtube.cpp +6 −5 Original line number Diff line number Diff line Loading @@ -189,13 +189,14 @@ namespace blogi { memmove(data.get(),data.get()+hsize,recv); cpos=0; try{ if(strcmp(res.getTransferEncoding(),"chunked")==0){ chunklen=readchunk(data.get(),recv,cpos); for(libhttppp::HttpHeader::HeaderData::Values *chdat=res.getTransferEncoding(); chdat; chdat=chdat->nextvalue()){ if(chdat->getvalue()=="chunked") chunked=true; }else{ throw; } if(!chunked) throw "e"; }catch(...){ rlen=res.getContentLength(); json.resize(rlen); Loading src/blogi.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -302,6 +302,9 @@ void blogi::Blogi::settingsPage(libhttppp::HttpRequest* curreq,const int tid,con curres.send(curreq,out.c_str(),out.size()); } void blogi::Blogi::searchPage(libhttppp::HttpRequest* curreq, const int tid, const char* sessionid){ } void blogi::Blogi::RequestEvent(libhttppp::HttpRequest *curreq,const int tid,ULONG_PTR args){ char url[512]; Loading Loading @@ -396,6 +399,9 @@ RETRY_REQUEST: }else if(strncmp(curreq->getRequestURL(),PlgArgs->config->buildurl("settings",url,512),strlen(PlgArgs->config->buildurl("settings",url,512)))==0){ settingsPage(curreq,tid,sessid); return; }else if(strncmp(curreq->getRequestURL(),PlgArgs->config->buildurl("search",url,512),strlen(PlgArgs->config->buildurl("search",url,512)))==0){ searchPage(curreq,tid,sessid); return; }else if(strncmp(curreq->getRequestURL(),PlgArgs->config->buildurl("editor",url,512),strlen(PlgArgs->config->buildurl("editor",url,512)))==0){ PlgArgs->edit->Controller(curreq); return; Loading src/blogi.h +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ namespace blogi { void loginPage(libhttppp::HttpRequest *curreq,const int tid,const char *sessionid); void logoutPage(libhttppp::HttpRequest *curreq,const int tid,const char *sessionid); void settingsPage(libhttppp::HttpRequest *curreq,const int tid,const char *sessionid); void searchPage(libhttppp::HttpRequest *curreq,const int tid,const char *sessionid); void RequestEvent(libhttppp::HttpRequest *curreq,const int tid,ULONG_PTR args); void ResponseEvent(libhttppp::HttpRequest *curreq,const int tid,ULONG_PTR args); private: Loading src/plugin.cpp +57 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,59 @@ #include "plugin.h" blogi::SearchRet::SearchRet(){ _firstData=nullptr; _lastData=nullptr; } blogi::SearchRet::~SearchRet(){ clear(); } blogi::SearchRet::Data * blogi::SearchRet::getfirstData(){ return _firstData; } void blogi::SearchRet::clear(){ Data *curdat=_firstData; while(curdat){ Data *nxtdat=curdat->nextData(); curdat->_next=nullptr; delete curdat; curdat=nxtdat; } } void blogi::SearchRet::push_back(const blogi::SearchRet::Data& dat){ if(!_firstData){ _firstData=new Data(dat); _lastData=_firstData; }else{ _lastData->_next=new Data(dat); _lastData=_lastData->_next; } } blogi::SearchRet::Data::Data(){ _next=nullptr; } blogi::SearchRet::Data::Data(const blogi::SearchRet::Data& dat){ title=dat.title; anchor=dat.anchor; std::copy(dat.text.begin(),dat.text.end(),std::back_inserter(text)); _next=nullptr; } blogi::SearchRet::Data::~Data(){ } blogi::SearchRet::Data* blogi::SearchRet::Data::nextData(){ return _next; } //musl hack blogi::PluginApi::~PluginApi(){ } Loading Loading @@ -61,6 +114,10 @@ bool blogi::PluginApi::Response(const int tid,libhttppp::HttpRequest* req){ return false; } void blogi::PluginApi::Search(const int tid, const char* word, blogi::SearchRet &result, const char* sessionid){ return; } void blogi::PluginApi::setArgs(blogi::PluginArgs* args){ Args=args; Loading Loading
plugins/nginxfiler/filer.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -233,12 +233,12 @@ namespace blogi { cpos=0; try{ if(res.getTransferEncoding() && strcmp(res.getTransferEncoding(),"chunked")==0){ for(libhttppp::HttpHeader::HeaderData::Values *chdat=res.getTransferEncoding(); chdat; chdat=chdat->nextvalue()){ if(chdat->getvalue()=="chunked") chunked=true; }else{ throw "e"; } if(!chunked) throw "e"; }catch(...){ rlen=res.getContentLength(); json.resize(rlen); Loading
plugins/youtube/youtube.cpp +6 −5 Original line number Diff line number Diff line Loading @@ -189,13 +189,14 @@ namespace blogi { memmove(data.get(),data.get()+hsize,recv); cpos=0; try{ if(strcmp(res.getTransferEncoding(),"chunked")==0){ chunklen=readchunk(data.get(),recv,cpos); for(libhttppp::HttpHeader::HeaderData::Values *chdat=res.getTransferEncoding(); chdat; chdat=chdat->nextvalue()){ if(chdat->getvalue()=="chunked") chunked=true; }else{ throw; } if(!chunked) throw "e"; }catch(...){ rlen=res.getContentLength(); json.resize(rlen); Loading
src/blogi.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -302,6 +302,9 @@ void blogi::Blogi::settingsPage(libhttppp::HttpRequest* curreq,const int tid,con curres.send(curreq,out.c_str(),out.size()); } void blogi::Blogi::searchPage(libhttppp::HttpRequest* curreq, const int tid, const char* sessionid){ } void blogi::Blogi::RequestEvent(libhttppp::HttpRequest *curreq,const int tid,ULONG_PTR args){ char url[512]; Loading Loading @@ -396,6 +399,9 @@ RETRY_REQUEST: }else if(strncmp(curreq->getRequestURL(),PlgArgs->config->buildurl("settings",url,512),strlen(PlgArgs->config->buildurl("settings",url,512)))==0){ settingsPage(curreq,tid,sessid); return; }else if(strncmp(curreq->getRequestURL(),PlgArgs->config->buildurl("search",url,512),strlen(PlgArgs->config->buildurl("search",url,512)))==0){ searchPage(curreq,tid,sessid); return; }else if(strncmp(curreq->getRequestURL(),PlgArgs->config->buildurl("editor",url,512),strlen(PlgArgs->config->buildurl("editor",url,512)))==0){ PlgArgs->edit->Controller(curreq); return; Loading
src/blogi.h +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ namespace blogi { void loginPage(libhttppp::HttpRequest *curreq,const int tid,const char *sessionid); void logoutPage(libhttppp::HttpRequest *curreq,const int tid,const char *sessionid); void settingsPage(libhttppp::HttpRequest *curreq,const int tid,const char *sessionid); void searchPage(libhttppp::HttpRequest *curreq,const int tid,const char *sessionid); void RequestEvent(libhttppp::HttpRequest *curreq,const int tid,ULONG_PTR args); void ResponseEvent(libhttppp::HttpRequest *curreq,const int tid,ULONG_PTR args); private: Loading
src/plugin.cpp +57 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,59 @@ #include "plugin.h" blogi::SearchRet::SearchRet(){ _firstData=nullptr; _lastData=nullptr; } blogi::SearchRet::~SearchRet(){ clear(); } blogi::SearchRet::Data * blogi::SearchRet::getfirstData(){ return _firstData; } void blogi::SearchRet::clear(){ Data *curdat=_firstData; while(curdat){ Data *nxtdat=curdat->nextData(); curdat->_next=nullptr; delete curdat; curdat=nxtdat; } } void blogi::SearchRet::push_back(const blogi::SearchRet::Data& dat){ if(!_firstData){ _firstData=new Data(dat); _lastData=_firstData; }else{ _lastData->_next=new Data(dat); _lastData=_lastData->_next; } } blogi::SearchRet::Data::Data(){ _next=nullptr; } blogi::SearchRet::Data::Data(const blogi::SearchRet::Data& dat){ title=dat.title; anchor=dat.anchor; std::copy(dat.text.begin(),dat.text.end(),std::back_inserter(text)); _next=nullptr; } blogi::SearchRet::Data::~Data(){ } blogi::SearchRet::Data* blogi::SearchRet::Data::nextData(){ return _next; } //musl hack blogi::PluginApi::~PluginApi(){ } Loading Loading @@ -61,6 +114,10 @@ bool blogi::PluginApi::Response(const int tid,libhttppp::HttpRequest* req){ return false; } void blogi::PluginApi::Search(const int tid, const char* word, blogi::SearchRet &result, const char* sessionid){ return; } void blogi::PluginApi::setArgs(blogi::PluginArgs* args){ Args=args; Loading