Mercurial > hg > orthanc-authorization
comparison Plugin/DefaultAuthorizationParser.cpp @ 138:f448e8626f1a
Now handling new GET /tools/create-archive and sibling routes
author | Alain Mazy <am@osimis.io> |
---|---|
date | Sat, 25 Nov 2023 12:18:14 +0100 |
parents | 0205e9efaca8 |
children | 20c638fa8b07 |
comparison
equal
deleted
inserted
replaced
137:0fa3a38eb72f | 138:f448e8626f1a |
---|---|
31 seriesPattern_("^/(web-viewer/series|web-viewer/is-stable-series|wsi/pyramids|wsi/tiles)/([a-f0-9-]+)(|/.*)$"), | 31 seriesPattern_("^/(web-viewer/series|web-viewer/is-stable-series|wsi/pyramids|wsi/tiles)/([a-f0-9-]+)(|/.*)$"), |
32 instancesPattern_("^/web-viewer/instances/[a-z0-9]+-([a-f0-9-]+)_[0-9]+$"), | 32 instancesPattern_("^/web-viewer/instances/[a-z0-9]+-([a-f0-9-]+)_[0-9]+$"), |
33 osimisViewerSeries_("^/osimis-viewer/series/([a-f0-9-]+)(|/.*)$"), | 33 osimisViewerSeries_("^/osimis-viewer/series/([a-f0-9-]+)(|/.*)$"), |
34 osimisViewerImages_("^/osimis-viewer/(images|custom-command)/([a-f0-9-]+)(|/.*)$"), | 34 osimisViewerImages_("^/osimis-viewer/(images|custom-command)/([a-f0-9-]+)(|/.*)$"), |
35 osimisViewerStudies_("^/osimis-viewer/studies/([a-f0-9-]+)(|/.*)$"), | 35 osimisViewerStudies_("^/osimis-viewer/studies/([a-f0-9-]+)(|/.*)$"), |
36 listOfResourcesPattern_("^/(patients|studies|series|instances)(|/)$") | 36 listOfResourcesPattern_("^/(patients|studies|series|instances)(|/)$"), |
37 createBulkPattern_("^/tools/(create-archive|create-media|create-media-extended)(|/)$") | |
37 { | 38 { |
38 std::string tmp = dicomWebRoot; | 39 std::string tmp = dicomWebRoot; |
39 while (!tmp.empty() && | 40 while (!tmp.empty() && |
40 tmp[tmp.size() - 1] == '/') | 41 tmp[tmp.size() - 1] == '/') |
41 { | 42 { |
143 else if (boost::regex_match(uri, what, osimisViewerImages_)) | 144 else if (boost::regex_match(uri, what, osimisViewerImages_)) |
144 { | 145 { |
145 AddOrthancInstance(target, what[2]); | 146 AddOrthancInstance(target, what[2]); |
146 return true; | 147 return true; |
147 } | 148 } |
149 else if (boost::regex_match(uri, what, createBulkPattern_)) | |
150 { | |
151 std::string resourcesIdsString = Orthanc::HttpToolbox::GetArgument(getArguments, "resources", ""); | |
152 std::set<std::string> resourcesIds; | |
153 Orthanc::Toolbox::SplitString(resourcesIds, resourcesIdsString, ','); | |
154 | |
155 for (std::set<std::string>::const_iterator it = resourcesIds.begin(); it != resourcesIds.end(); ++it) | |
156 { | |
157 AddOrthancUnknownResource(target, *it); | |
158 } | |
159 | |
160 return true; | |
161 } | |
148 else if (boost::regex_match(uri, what, dicomWebQidoRsFind_)) | 162 else if (boost::regex_match(uri, what, dicomWebQidoRsFind_)) |
149 { | 163 { |
150 std::string studyInstanceUid, seriesInstanceUid, sopInstanceUid, patientId; | 164 std::string studyInstanceUid, seriesInstanceUid, sopInstanceUid, patientId; |
151 | 165 |
152 studyInstanceUid = Orthanc::HttpToolbox::GetArgument(getArguments, "0020000D", ""); | 166 studyInstanceUid = Orthanc::HttpToolbox::GetArgument(getArguments, "0020000D", ""); |