Mercurial > hg > orthanc
diff Plugins/Samples/Basic/Plugin.c @ 1962:22ddb22fce83
sample plugin
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 07 Apr 2016 17:42:20 +0200 |
parents | b1291df2f780 |
children | cadfe0a2a393 |
line wrap: on
line diff
--- a/Plugins/Samples/Basic/Plugin.c Thu Apr 07 17:26:13 2016 +0200 +++ b/Plugins/Samples/Basic/Plugin.c Thu Apr 07 17:42:20 2016 +0200 @@ -322,6 +322,38 @@ } +ORTHANC_PLUGINS_API int32_t FilterIncomingHttpRequest(OrthancPluginHttpMethod method, + const char* uri, + const char* ip, + uint32_t headersCount, + const char* const* headersKeys, + const char* const* headersValues) +{ + uint32_t i; + + if (headersCount > 0) + { + OrthancPluginLogInfo(context, "HTTP headers of an incoming REST request:"); + for (i = 0; i < headersCount; i++) + { + char info[1024]; + sprintf(info, " %s: %s", headersKeys[i], headersValues[i]); + OrthancPluginLogInfo(context, info); + } + } + + if (method == OrthancPluginHttpMethod_Get || + method == OrthancPluginHttpMethod_Post) + { + return 1; /* Allowed */ + } + else + { + return 0; /* Only allow GET and POST requests */ + } +} + + ORTHANC_PLUGINS_API int32_t OrthancPluginInitialize(OrthancPluginContext* c) { OrthancPluginMemoryBuffer tmp; @@ -384,8 +416,8 @@ OrthancPluginRegisterRestCallback(context, "/plugin/create", CallbackCreateDicom); OrthancPluginRegisterOnStoredInstanceCallback(context, OnStoredCallback); - OrthancPluginRegisterOnChangeCallback(context, OnChangeCallback); + OrthancPluginRegisterIncomingHttpRequestFilter(context, FilterIncomingHttpRequest); /* Declare several properties of the plugin */ OrthancPluginSetRootUri(context, "/plugin/hello");