comparison OrthancServer/Sources/OrthancRestApi/OrthancRestApi.cpp @ 5611:1a995c6f9dae

deprecating the "requestedTags" GET argument in favor of "requested-tags"
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 09 May 2024 10:43:10 +0200
parents fa000bd60bbe
children f7adfb22e20e
comparison
equal deleted inserted replaced
5604:c2a2fb8e868d 5611:1a995c6f9dae
487 487
488 488
489 static const std::string GET_SIMPLIFY = "simplify"; 489 static const std::string GET_SIMPLIFY = "simplify";
490 static const std::string GET_FULL = "full"; 490 static const std::string GET_FULL = "full";
491 static const std::string GET_SHORT = "short"; 491 static const std::string GET_SHORT = "short";
492 static const std::string GET_REQUESTED_TAGS = "requestedTags"; 492 static const std::string GET_REQUESTED_TAGS_OLD = "requestedTags"; // This was the only option in Orthanc <= 1.12.3
493 static const std::string GET_REQUESTED_TAGS = "requested-tags";
493 494
494 static const std::string POST_SIMPLIFY = "Simplify"; 495 static const std::string POST_SIMPLIFY = "Simplify";
495 static const std::string POST_FULL = "Full"; 496 static const std::string POST_FULL = "Full";
496 static const std::string POST_SHORT = "Short"; 497 static const std::string POST_SHORT = "Short";
497 static const std::string POST_REQUESTED_TAGS = "RequestedTags"; 498 static const std::string POST_REQUESTED_TAGS = "RequestedTags";
601 void OrthancRestApi::GetRequestedTags(std::set<DicomTag>& requestedTags, 602 void OrthancRestApi::GetRequestedTags(std::set<DicomTag>& requestedTags,
602 const RestApiGetCall& call) 603 const RestApiGetCall& call)
603 { 604 {
604 requestedTags.clear(); 605 requestedTags.clear();
605 606
607 std::string s;
608
606 if (call.HasArgument(GET_REQUESTED_TAGS)) 609 if (call.HasArgument(GET_REQUESTED_TAGS))
610 {
611 s = call.GetArgument(GET_REQUESTED_TAGS, "");
612 }
613 else if (call.HasArgument(GET_REQUESTED_TAGS_OLD))
614 {
615 // This is for backward compatibility with Orthanc <= 1.12.3
616 s = call.GetArgument(GET_REQUESTED_TAGS_OLD, "");
617 }
618
619 if (!s.empty())
607 { 620 {
608 try 621 try
609 { 622 {
610 FromDcmtkBridge::ParseListOfTags(requestedTags, call.GetArgument("requestedTags", "")); 623 FromDcmtkBridge::ParseListOfTags(requestedTags, s);
611 } 624 }
612 catch (OrthancException& ex) 625 catch (OrthancException& ex)
613 { 626 {
614 throw OrthancException(ErrorCode_BadRequest, std::string("Invalid requestedTags argument: ") + ex.What() + " " + ex.GetDetails()); 627 throw OrthancException(ErrorCode_BadRequest, std::string("Invalid requestedTags argument: ") + ex.What() + " " + ex.GetDetails());
615 } 628 }
616 } 629 }
617
618 } 630 }
619 631
620 void OrthancRestApi::DocumentRequestedTags(RestApiGetCall& call) 632 void OrthancRestApi::DocumentRequestedTags(RestApiGetCall& call)
621 { 633 {
622 call.GetDocumentation().SetHttpGetArgument(GET_REQUESTED_TAGS, RestApiCallDocumentation::Type_String, 634 call.GetDocumentation().SetHttpGetArgument(GET_REQUESTED_TAGS, RestApiCallDocumentation::Type_String,