comparison Platforms/Generic/WebServicePostCommand.cpp @ 251:192e6e349e69 am-2

first usage of new message system (in SDL only)
author am@osimis.io
date Mon, 02 Jul 2018 18:13:46 +0200
parents 5412adf19980
children 9afafb192180
comparison
equal deleted inserted replaced
250:5e642859267e 251:192e6e349e69
23 23
24 #include <Core/HttpClient.h> 24 #include <Core/HttpClient.h>
25 25
26 namespace OrthancStone 26 namespace OrthancStone
27 { 27 {
28 WebServicePostCommand::WebServicePostCommand(IWebService::ICallback& callback, 28 WebServicePostCommand::WebServicePostCommand(MessageBroker& broker,
29 IWebService::ICallback& callback,
29 const Orthanc::WebServiceParameters& parameters, 30 const Orthanc::WebServiceParameters& parameters,
30 const std::string& uri, 31 const std::string& uri,
31 const std::string& body, 32 const std::string& body,
32 Orthanc::IDynamicObject* payload /* takes ownership */) : 33 Orthanc::IDynamicObject* payload /* takes ownership */) :
33 callback_(callback), 34 WebServiceCommandBase(broker, callback, parameters, uri, payload),
34 parameters_(parameters), 35 body_(body)
35 uri_(uri),
36 body_(body),
37 payload_(payload)
38 { 36 {
39 } 37 }
40 38
41 void WebServicePostCommand::Execute() 39 void WebServicePostCommand::Execute()
42 { 40 {
45 client.SetMethod(Orthanc::HttpMethod_Post); 43 client.SetMethod(Orthanc::HttpMethod_Post);
46 client.GetBody().swap(body_); 44 client.GetBody().swap(body_);
47 success_ = client.Apply(answer_); 45 success_ = client.Apply(answer_);
48 } 46 }
49 47
50 void WebServicePostCommand::Commit()
51 {
52 if (success_)
53 {
54 callback_.NotifySuccess(uri_, answer_.c_str(), answer_.size(), payload_.release());
55 }
56 else
57 {
58 callback_.NotifyError(uri_, payload_.release());
59 }
60 }
61 } 48 }