Mercurial > hg > orthanc
comparison Plugins/Engine/OrthancPlugins.cpp @ 1780:94990da8710e
OrthancPluginRestApiGet2
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 13 Nov 2015 15:06:45 +0100 |
parents | 8790488ae98b |
children | 30e97a1f4093 |
comparison
equal
deleted
inserted
replaced
1779:c24dac8c1d4e | 1780:94990da8710e |
---|---|
817 throw OrthancException(ErrorCode_BadRequest); | 817 throw OrthancException(ErrorCode_BadRequest); |
818 } | 818 } |
819 } | 819 } |
820 | 820 |
821 | 821 |
822 void OrthancPlugins::RestApiGet2(const void* parameters) | |
823 { | |
824 const _OrthancPluginRestApiGet2& p = | |
825 *reinterpret_cast<const _OrthancPluginRestApiGet2*>(parameters); | |
826 | |
827 LOG(INFO) << "Plugin making REST GET call on URI " << p.uri | |
828 << (p.afterPlugins ? " (after plugins)" : " (built-in API)"); | |
829 | |
830 IHttpHandler::Arguments headers; | |
831 | |
832 for (uint32_t i = 0; i < p.headersCount; i++) | |
833 { | |
834 headers[p.headersKeys[i]] = p.headersValues[i]; | |
835 } | |
836 | |
837 CheckContextAvailable(); | |
838 IHttpHandler& handler = pimpl_->context_->GetHttpHandler().RestrictToOrthancRestApi(!p.afterPlugins); | |
839 | |
840 std::string result; | |
841 if (HttpToolbox::SimpleGet(result, handler, RequestOrigin_Plugins, p.uri, headers)) | |
842 { | |
843 CopyToMemoryBuffer(*p.target, result); | |
844 } | |
845 else | |
846 { | |
847 throw OrthancException(ErrorCode_BadRequest); | |
848 } | |
849 } | |
850 | |
851 | |
822 void OrthancPlugins::RestApiPostPut(bool isPost, | 852 void OrthancPlugins::RestApiPostPut(bool isPost, |
823 const void* parameters, | 853 const void* parameters, |
824 bool afterPlugins) | 854 bool afterPlugins) |
825 { | 855 { |
826 const _OrthancPluginRestApiPostPut& p = | 856 const _OrthancPluginRestApiPostPut& p = |
1393 | 1423 |
1394 case _OrthancPluginService_RestApiGetAfterPlugins: | 1424 case _OrthancPluginService_RestApiGetAfterPlugins: |
1395 RestApiGet(parameters, true); | 1425 RestApiGet(parameters, true); |
1396 return true; | 1426 return true; |
1397 | 1427 |
1428 case _OrthancPluginService_RestApiGet2: | |
1429 RestApiGet2(parameters); | |
1430 return true; | |
1431 | |
1398 case _OrthancPluginService_RestApiPost: | 1432 case _OrthancPluginService_RestApiPost: |
1399 RestApiPostPut(true, parameters, false); | 1433 RestApiPostPut(true, parameters, false); |
1400 return true; | 1434 return true; |
1401 | 1435 |
1402 case _OrthancPluginService_RestApiPostAfterPlugins: | 1436 case _OrthancPluginService_RestApiPostAfterPlugins: |