comparison OrthancServer/OrthancRestApi/OrthancRestModalities.cpp @ 2067:02c543c42e61

"Permissive" flag for URI "/modalities/{...}/store" to ignore C-Store transfer errors
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 13 Jul 2016 15:55:50 +0200
parents 8e67325eaa3f
children 27fd34970c52
comparison
equal deleted inserted replaced
2066:79fa4262e8d4 2067:02c543c42e61
718 { 718 {
719 moveOriginatorID = boost::lexical_cast<uint16_t>(v); 719 moveOriginatorID = boost::lexical_cast<uint16_t>(v);
720 } 720 }
721 } 721 }
722 722
723 static const char* PERMISSIVE = "Permissive";
724 bool permissive = false;
725 if (request.type() == Json::objectValue &&
726 request.isMember(PERMISSIVE))
727 {
728 if (request[PERMISSIVE].type() == Json::booleanValue)
729 {
730 permissive = request[PERMISSIVE].asBool();
731 }
732 else
733 {
734 throw OrthancException(ErrorCode_BadFileFormat);
735 }
736 }
737
723 RemoteModalityParameters p = Configuration::GetModalityUsingSymbolicName(remote); 738 RemoteModalityParameters p = Configuration::GetModalityUsingSymbolicName(remote);
724 739
725 ServerJob job; 740 ServerJob job;
726 for (std::list<std::string>::const_iterator 741 for (std::list<std::string>::const_iterator
727 it = instances.begin(); it != instances.end(); ++it) 742 it = instances.begin(); it != instances.end(); ++it)
728 { 743 {
729 job.AddCommand(new StoreScuCommand(context, localAet, p, false, 744 job.AddCommand(new StoreScuCommand(context, localAet, p, permissive,
730 moveOriginatorID)).AddInput(*it); 745 moveOriginatorID)).AddInput(*it);
731 } 746 }
732 747
733 job.SetDescription("HTTP request: Store-SCU to peer \"" + remote + "\""); 748 job.SetDescription("HTTP request: Store-SCU to peer \"" + remote + "\"");
734 749