comparison Plugin/DefaultAuthorizationParser.cpp @ 115:0eed78c1e177

cache the UserProfile + updated http filter logic
author Alain Mazy <am@osimis.io>
date Fri, 08 Sep 2023 09:52:21 +0200
parents 7381a7674b36
children 89eddd4b2f6a
comparison
equal deleted inserted replaced
114:546aea509427 115:0eed78c1e177
29 resourcesPattern_("^/(patients|studies|series|instances)/([a-f0-9-]+)(|/.*)$"), 29 resourcesPattern_("^/(patients|studies|series|instances)/([a-f0-9-]+)(|/.*)$"),
30 seriesPattern_("^/(web-viewer/series|web-viewer/is-stable-series|wsi/pyramids|wsi/tiles)/([a-f0-9-]+)(|/.*)$"), 30 seriesPattern_("^/(web-viewer/series|web-viewer/is-stable-series|wsi/pyramids|wsi/tiles)/([a-f0-9-]+)(|/.*)$"),
31 instancesPattern_("^/web-viewer/instances/[a-z0-9]+-([a-f0-9-]+)_[0-9]+$"), 31 instancesPattern_("^/web-viewer/instances/[a-z0-9]+-([a-f0-9-]+)_[0-9]+$"),
32 osimisViewerSeries_("^/osimis-viewer/series/([a-f0-9-]+)(|/.*)$"), 32 osimisViewerSeries_("^/osimis-viewer/series/([a-f0-9-]+)(|/.*)$"),
33 osimisViewerImages_("^/osimis-viewer/(images|custom-command)/([a-f0-9-]+)(|/.*)$"), 33 osimisViewerImages_("^/osimis-viewer/(images|custom-command)/([a-f0-9-]+)(|/.*)$"),
34 osimisViewerStudies_("^/osimis-viewer/studies/([a-f0-9-]+)(|/.*)$") 34 osimisViewerStudies_("^/osimis-viewer/studies/([a-f0-9-]+)(|/.*)$"),
35 listOfResourcesPattern_("^/(patients|studies|series|instances)(|/)$")
35 { 36 {
36 std::string tmp = dicomWebRoot; 37 std::string tmp = dicomWebRoot;
37 while (!tmp.empty() && 38 while (!tmp.empty() &&
38 tmp[tmp.size() - 1] == '/') 39 tmp[tmp.size() - 1] == '/')
39 { 40 {
51 52
52 dicomWebQidoRsFind_ = boost::regex( 53 dicomWebQidoRsFind_ = boost::regex(
53 "^" + tmp + "/(studies|series|instances)(|/)$"); 54 "^" + tmp + "/(studies|series|instances)(|/)$");
54 } 55 }
55 56
57 bool DefaultAuthorizationParser::IsListOfResources(const std::string& uri)
58 {
59 if (boost::regex_match(uri, listOfResourcesPattern_))
60 {
61 return true;
62 }
63
64 return false;
65 }
66
67
56 68
57 bool DefaultAuthorizationParser::Parse(AccessedResources& target, 69 bool DefaultAuthorizationParser::Parse(AccessedResources& target,
58 const std::string& uri, 70 const std::string& uri,
59 const std::map<std::string, std::string>& getArguments) 71 const std::map<std::string, std::string>& getArguments)
60 { 72 {