Mercurial > hg > orthanc-stone
diff Platforms/Generic/WebServiceGetCommand.cpp @ 300:b4abaeb783b1 am-callable-and-promise
messaging refactoring almost complete: works fine in native
author | am@osimis.io |
---|---|
date | Tue, 18 Sep 2018 15:23:21 +0200 |
parents | 3897f9f28cfa |
children | 547e1cf7aa7b |
line wrap: on
line diff
--- a/Platforms/Generic/WebServiceGetCommand.cpp Fri Sep 14 16:44:01 2018 +0200 +++ b/Platforms/Generic/WebServiceGetCommand.cpp Tue Sep 18 15:23:21 2018 +0200 @@ -13,7 +13,7 @@ * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Affero General Public License for more details. - * + * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. **/ @@ -25,14 +25,16 @@ namespace OrthancStone { + WebServiceGetCommand::WebServiceGetCommand(MessageBroker& broker, - IWebService::ICallback& callback, + MessageHandler<IWebService::NewHttpRequestSuccessMessage>* successCallback, // takes ownership + MessageHandler<IWebService::NewHttpRequestErrorMessage>* failureCallback, // takes ownership const Orthanc::WebServiceParameters& parameters, const std::string& uri, const IWebService::Headers& headers, Orthanc::IDynamicObject* payload /* takes ownership */, NativeStoneApplicationContext& context) : - WebServiceCommandBase(broker, callback, parameters, uri, headers, payload, context) + WebServiceCommandBase(broker, successCallback, failureCallback, parameters, uri, headers, payload, context) { } @@ -51,31 +53,4 @@ success_ = client.Apply(answer_); } - NewWebServiceGetCommand::NewWebServiceGetCommand(MessageBroker& broker, - MessageHandler<IWebService::NewHttpRequestSuccessMessage>* successCallback, // takes ownership - MessageHandler<IWebService::NewHttpRequestErrorMessage>* failureCallback, // takes ownership - const Orthanc::WebServiceParameters& parameters, - const std::string& uri, - const IWebService::Headers& headers, - Orthanc::IDynamicObject* payload /* takes ownership */, - NativeStoneApplicationContext& context) : - NewWebServiceCommandBase(broker, successCallback, failureCallback, parameters, uri, headers, payload, context) - { - } - - - void NewWebServiceGetCommand::Execute() - { - Orthanc::HttpClient client(parameters_, uri_); - client.SetTimeout(60); - client.SetMethod(Orthanc::HttpMethod_Get); - - for (IWebService::Headers::const_iterator it = headers_.begin(); it != headers_.end(); it++ ) - { - client.AddHeader(it->first, it->second); - } - - success_ = client.Apply(answer_); - } - }