summaryrefslogtreecommitdiff
path: root/src/HttpServerCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-05-09 14:01:35 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-05-09 14:01:35 +0000
commit9f0a602ce3d2ffb4426fc6f0da0db257fbc90333 (patch)
tree415a4307fbb44d52cb9df7d85577241d22c60a40 /src/HttpServerCommand.cc
parent45249392fd29eca4e01e0bace271737589813ea8 (diff)
2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed --enable-http-server and --http-server-listen-port options. Added --enable-xml-rpc and --xml-rpc-listen-port instead. The original feature for --enable-http-server that reports download progress in HTML was officially removed. Persist XML-RPC connection if client supports keep-alive. * src/DownloadEngineFactory.cc * src/HttpServerCommand.cc * src/HttpServerResponseCommand.cc * src/Makefile.am * src/Makefile.in * src/OptionHandlerFactory.cc * src/RequestGroupMan.cc * src/main.cc * src/option_processing.cc * src/prefs.cc * src/prefs.h * src/usage_text.h
Diffstat (limited to 'src/HttpServerCommand.cc')
-rw-r--r--src/HttpServerCommand.cc158
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()) {