Mercurial > hg > orthanc
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 |