diff options
Diffstat (limited to 'service/ControlPlane.cpp')
-rw-r--r-- | service/ControlPlane.cpp | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/service/ControlPlane.cpp b/service/ControlPlane.cpp index 1d9f9b4a..2e8290ed 100644 --- a/service/ControlPlane.cpp +++ b/service/ControlPlane.cpp @@ -33,7 +33,9 @@ #include "../ext/http-parser/http_parser.h" +#ifdef ZT_ENABLE_NETWORK_CONTROLLER #include "../controller/SqliteNetworkController.hpp" +#endif #include "../node/InetAddress.hpp" #include "../node/Node.hpp" @@ -245,6 +247,9 @@ static void _jsonAppend(unsigned int depth,std::string &buf,const ZT1_Peer *peer ControlPlane::ControlPlane(OneService *svc,Node *n,const char *uiStaticPath) : _svc(svc), _node(n), +#ifdef ZT_ENABLE_NETWORK_CONTROLLER + _controller((SqliteNetworkController *)0), +#endif _uiStaticPath((uiStaticPath) ? uiStaticPath : "") { } @@ -445,10 +450,13 @@ unsigned int ControlPlane::handleRequest( responseContentType = "text/plain"; scode = 200; } else { - std::map<std::string,SqliteNetworkController *>::const_iterator ss(_subsystems.find(ps[0])); - if (ss != _subsystems.end()) - scode = ss->second->handleControlPlaneHttpGET(std::vector<std::string>(ps.begin()+1,ps.end()),urlArgs,headers,body,responseBody,responseContentType); +#ifdef ZT_ENABLE_NETWORK_CONTROLLER + if (_controller) + _controller->handleControlPlaneHttpGET(std::vector<std::string>(ps.begin()+1,ps.end()),urlArgs,headers,body,responseBody,responseContentType); else scode = 404; +#else + scode = 404; +#endif } } else scode = 401; // isAuth == false @@ -478,10 +486,13 @@ unsigned int ControlPlane::handleRequest( } else scode = 500; } } else { - std::map<std::string,SqliteNetworkController *>::const_iterator ss(_subsystems.find(ps[0])); - if (ss != _subsystems.end()) - scode = ss->second->handleControlPlaneHttpPOST(std::vector<std::string>(ps.begin()+1,ps.end()),urlArgs,headers,body,responseBody,responseContentType); +#ifdef ZT_ENABLE_NETWORK_CONTROLLER + if (_controller) + _controller->handleControlPlaneHttpPOST(std::vector<std::string>(ps.begin()+1,ps.end()),urlArgs,headers,body,responseBody,responseContentType); else scode = 404; +#else + scode = 404; +#endif } } else scode = 401; // isAuth == false @@ -510,10 +521,13 @@ unsigned int ControlPlane::handleRequest( _node->freeQueryResult((void *)nws); } else scode = 500; } else { - std::map<std::string,SqliteNetworkController *>::const_iterator ss(_subsystems.find(ps[0])); - if (ss != _subsystems.end()) - scode = ss->second->handleControlPlaneHttpDELETE(std::vector<std::string>(ps.begin()+1,ps.end()),urlArgs,headers,body,responseBody,responseContentType); +#ifdef ZT_ENABLE_NETWORK_CONTROLLER + if (_controller) + _controller->handleControlPlaneHttpDELETE(std::vector<std::string>(ps.begin()+1,ps.end()),urlArgs,headers,body,responseBody,responseContentType); else scode = 404; +#else + scode = 404; +#endif } } else { |