2021-04-27 16:29:51 +00:00
|
|
|
#pragma once
|
|
|
|
|
2021-05-03 20:31:22 +00:00
|
|
|
#include <map>
|
2021-05-03 02:48:44 +00:00
|
|
|
|
2021-04-27 16:29:51 +00:00
|
|
|
#include "rpc/Request.h"
|
2021-05-03 20:31:22 +00:00
|
|
|
#include "rpc/RequestResult.h"
|
|
|
|
#include "../utils/Utils.h"
|
2021-05-03 02:48:44 +00:00
|
|
|
|
2021-05-03 20:31:22 +00:00
|
|
|
class RequestHandler;
|
|
|
|
typedef RequestResult(RequestHandler::*RequestMethodHandler)(const Request&);
|
2021-05-03 02:48:44 +00:00
|
|
|
|
|
|
|
class RequestHandler {
|
|
|
|
public:
|
2021-05-03 20:31:22 +00:00
|
|
|
RequestResult ProcessRequest(const Request& request);
|
2021-05-03 02:48:44 +00:00
|
|
|
|
|
|
|
private:
|
2021-05-03 20:31:22 +00:00
|
|
|
RequestResult GetVersion(const Request&);
|
|
|
|
|
|
|
|
static const std::map<std::string, RequestMethodHandler> _handlerMap;
|
|
|
|
};
|