diff options
Diffstat (limited to 'src/HttpServerCommand.cc')
| -rw-r--r-- | src/HttpServerCommand.cc | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/src/HttpServerCommand.cc b/src/HttpServerCommand.cc index a06e53f9..7d889945 100644 --- a/src/HttpServerCommand.cc +++ b/src/HttpServerCommand.cc @@ -33,12 +33,6 @@ */ /* copyright --> */ #include "HttpServerCommand.h" - -#include <sstream> -#include <algorithm> -#include <ostream> -#include <iomanip> - #include "SocketCore.h" #include "DownloadEngine.h" #include "HttpServer.h" @@ -46,12 +40,7 @@ #include "Logger.h" #include "RequestGroup.h" #include "RequestGroupMan.h" -#include "BtContext.h" -#include "Util.h" -#include "HttpServerResponseCommand.h" #include "HttpServerBodyCommand.h" -#include "CheckIntegrityEntry.h" -#include "FileAllocationEntry.h" #include "RecoverableException.h" namespace aria2 { @@ -83,153 +72,6 @@ HttpServerCommand::~HttpServerCommand() _e->deleteSocketForReadCheck(_socket, this); } -class PrintSummaryHtml -{ -private: - std::ostream& _o; - -public: - PrintSummaryHtml(std::ostream& o):_o(o) {} - - void operator()(const SharedHandle<RequestGroup>& rg) - { - _o << "<div id=\"gid" << rg->getGID() << "\">" - << "[#" << rg->getGID() << "]" - << " FILE:" << "<strong>" - << Util::htmlEscape(rg->getFilePath()) << "</strong>"; -#ifdef ENABLE_BITTORRENT - SharedHandle<BtContext> btContext = - dynamic_pointer_cast<BtContext>(rg->getDownloadContext()); - if(!btContext.isNull()) { - _o << "<br />" << " Info Hash:" << btContext->getInfoHashAsString(); - } -#endif // ENABLE_BITTORRENT - _o << "<br />"; - - TransferStat stat = rg->calculateStat(); - unsigned int eta = 0; - if(rg->getTotalLength() > 0 && stat.getDownloadSpeed() > 0) { - eta = - (rg->getTotalLength()-rg->getCompletedLength())/stat.getDownloadSpeed(); - } -#ifdef ENABLE_BITTORRENT - if(!btContext.isNull() && rg->downloadFinished()) { - _o << "SEEDING" << "(" << "ratio:" - << std::fixed << std::setprecision(1) - << ((stat.getAllTimeUploadLength()*10)/rg->getCompletedLength())/10.0 - << ") "; - } -#endif // ENABLE_BITTORRENT - _o << Util::abbrevSize(rg->getCompletedLength()) - << "B" - << "/" - << Util::abbrevSize(rg->getTotalLength()) - << "B"; - if(rg->getTotalLength() > 0) { - _o << "(" - << 100*rg->getCompletedLength()/rg->getTotalLength() - << "%)"; - } - _o << " " - << "CN:" - << rg->getNumConnection(); - if(!rg->downloadFinished()) { - _o << " " - << "SPD:" - << std::fixed << std::setprecision(2) - << stat.getDownloadSpeed()/1024.0 << "KiB/s"; - } - if(stat.getSessionUploadLength() > 0) { - _o << " " - << "UP:" - << std::fixed << std::setprecision(2) - << stat.getUploadSpeed()/1024.0 << "KiB/s" - << "(" << Util::abbrevSize(stat.getAllTimeUploadLength()) << "B)"; - } - if(eta > 0) { - _o << " " - << "ETA:" - << Util::htmlEscape(Util::secfmt(eta)); - } - _o << "</div>" - << "<hr />"; - } -}; - -static std::string createResponse(DownloadEngine* e) -{ - std::ostringstream strm; - const std::deque<SharedHandle<RequestGroup> > groups = - e->_requestGroupMan->getRequestGroups(); - std::for_each(groups.begin(), groups.end(), PrintSummaryHtml(strm)); - - { - SharedHandle<FileAllocationEntry> entry = - e->_fileAllocationMan->getPickedEntry(); - if(!entry.isNull()) { - strm << "<div id=\"filealloc\">" - << "[FileAlloc:" - << "#" << entry->getRequestGroup()->getGID() << " " - << Util::abbrevSize(entry->getCurrentLength()) - << "B" - << "/" - << Util::abbrevSize(entry->getTotalLength()) - << "B" - << "("; - if(entry->getTotalLength() > 0) { - strm << 100*entry->getCurrentLength()/entry->getTotalLength(); - } else { - strm << "--"; - } - strm << "%)" - << "]"; - if(e->_fileAllocationMan->hasNext()) { - strm << "(" - << e->_fileAllocationMan->countEntryInQueue() - << "waiting...)"; - } - strm << "</div><hr />"; - } - } -#ifdef ENABLE_MESSAGE_DIGEST - { - SharedHandle<CheckIntegrityEntry> entry = - e->_checkIntegrityMan->getPickedEntry(); - if(!entry.isNull()) { - strm << "<div id=\"hashcheck\">" - << "[HashCheck:" - << "#" << entry->getRequestGroup()->getGID() << " " - << Util::abbrevSize(entry->getCurrentLength()) - << "B" - << "/" - << Util::abbrevSize(entry->getTotalLength()) - << "B" - << "(" - << 100*entry->getCurrentLength()/entry->getTotalLength() - << "%)" - << "]"; - if(e->_checkIntegrityMan->hasNext()) { - strm << "(" - << e->_checkIntegrityMan->countEntryInQueue() - << "waiting...)"; - } - strm << "</div><hr />"; - } - } -#endif // ENABLE_MESSAGE_DIGEST - std::string body = - "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"" - " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">" - "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">" - "<head>" - "<meta http-equiv=\"refresh\" content=\"1\" />" - "<title>aria2</title>" - "</head>" - "<body><h1>aria2 - Download Progress</h1>"+strm.str()+"</body>" - "</html>"; - return body; -} - bool HttpServerCommand::execute() { if(_e->_requestGroupMan->downloadFinished() || _e->isHaltRequested()) { |
