summaryrefslogtreecommitdiffstats
path: root/src/Server/RequestHandlers/IdentifyRequestHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Server/RequestHandlers/IdentifyRequestHandler.cpp')
-rw-r--r--src/Server/RequestHandlers/IdentifyRequestHandler.cpp42
1 files changed, 6 insertions, 36 deletions
diff --git a/src/Server/RequestHandlers/IdentifyRequestHandler.cpp b/src/Server/RequestHandlers/IdentifyRequestHandler.cpp
index 1b94a52..abee878 100644
--- a/src/Server/RequestHandlers/IdentifyRequestHandler.cpp
+++ b/src/Server/RequestHandlers/IdentifyRequestHandler.cpp
@@ -26,43 +26,13 @@ namespace Mad {
namespace Server {
namespace RequestHandlers {
-void IdentifyRequestHandler::handlePacket(boost::shared_ptr<const Common::XmlPacket> packet) {
- if(packet->getType() != "Identify") {
- Common::Logger::log(Common::Logger::ERROR, "Received an unexpected packet.");
+void IdentifyRequestHandler::handleRequest(boost::shared_ptr<const Common::XmlPacket> packet, Common::XmlPacket *ret) {
+ if((*packet)["hostname"].isEmpty())
+ ConnectionManager::get()->identifyClientConnection(getConnection());
+ else
+ ConnectionManager::get()->identifyDaemonConnection(getConnection(), (*packet)["hostname"]);
- Common::XmlPacket ret;
- ret.setType("Error");
- ret.add("ErrorCode", Net::Exception::UNEXPECTED_PACKET);
-
- sendPacket(ret);
-
- signalFinished();
- return;
- }
-
- // TODO Require authentication
- try {
- if((*packet)["hostname"].isEmpty())
- ConnectionManager::get()->identifyClientConnection(getConnection());
- else
- ConnectionManager::get()->identifyDaemonConnection(getConnection(), (*packet)["hostname"]);
-
- Common::XmlPacket ret;
- ret.setType("OK");
- sendPacket(ret);
- }
- catch(Net::Exception &e) {
- Common::XmlPacket ret;
- ret.setType("Error");
- ret.add("ErrorCode", e.getErrorCode());
- ret.add("SubCode", e.getSubCode());
- ret.add("SubSubCode", e.getSubSubCode());
- ret.add("Where", e.getWhere());
-
- sendPacket(ret);
- }
-
- signalFinished();
+ ret->setType("OK");
}
}