Mercurial > hg > orthanc
diff OrthancServer/main.cpp @ 1962:22ddb22fce83
sample plugin
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 07 Apr 2016 17:42:20 +0200 |
parents | 45c4387a379c |
children | 877713b3a91c |
line wrap: on
line diff
--- a/OrthancServer/main.cpp Thu Apr 07 17:26:13 2016 +0200 +++ b/OrthancServer/main.cpp Thu Apr 07 17:42:20 2016 +0200 @@ -278,9 +278,13 @@ { private: ServerContext& context_; + OrthancPlugins* plugins_; public: - MyIncomingHttpRequestFilter(ServerContext& context) : context_(context) + MyIncomingHttpRequestFilter(ServerContext& context, + OrthancPlugins* plugins) : + context_(context), + plugins_(plugins) { } @@ -290,6 +294,12 @@ const char* username, const IHttpHandler::Arguments& httpHeaders) const { + if (plugins_ != NULL && + !plugins_->IsAllowed(method, uri, ip, username, httpHeaders)) + { + return false; + } + static const char* HTTP_FILTER = "IncomingHttpRequestFilter"; LuaScripting::Locker locker(context_.GetLua()); @@ -679,7 +689,7 @@ // HTTP server - MyIncomingHttpRequestFilter httpFilter(context); + MyIncomingHttpRequestFilter httpFilter(context, plugins); MongooseServer httpServer; httpServer.SetPortNumber(Configuration::GetGlobalIntegerParameter("HttpPort", 8042)); httpServer.SetRemoteAccessAllowed(Configuration::GetGlobalBoolParameter("RemoteAccessAllowed", false));