Mercurial > hg > orthanc-stone
comparison Framework/Deprecated/Toolbox/OrthancApiClient.cpp @ 1066:b537002f83a9 broker
removing broker from deprecated classes
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 15 Oct 2019 15:39:39 +0200 |
parents | e146743f6cdc |
children | 21c2b0eee53c |
comparison
equal
deleted
inserted
replaced
1065:9d42f89b8c3c | 1066:b537002f83a9 |
---|---|
125 | 125 |
126 void HandleSuccess(const IWebService::HttpRequestSuccessMessage& message) const | 126 void HandleSuccess(const IWebService::HttpRequestSuccessMessage& message) const |
127 { | 127 { |
128 if (emptyHandler_.get() != NULL) | 128 if (emptyHandler_.get() != NULL) |
129 { | 129 { |
130 if (broker_.IsActive(*(emptyHandler_->GetObserver()))) | 130 emptyHandler_->Apply(OrthancApiClient::EmptyResponseReadyMessage |
131 (message.GetUri(), userPayload_.get())); | |
132 } | |
133 else if (binaryHandler_.get() != NULL) | |
134 { | |
135 binaryHandler_->Apply(OrthancApiClient::BinaryResponseReadyMessage | |
136 (message.GetUri(), message.GetAnswer(), | |
137 message.GetAnswerSize(), userPayload_.get())); | |
138 } | |
139 else if (jsonHandler_.get() != NULL) | |
140 { | |
141 Json::Value response; | |
142 if (MessagingToolbox::ParseJson(response, message.GetAnswer(), message.GetAnswerSize())) | |
131 { | 143 { |
132 emptyHandler_->Apply(OrthancApiClient::EmptyResponseReadyMessage | 144 jsonHandler_->Apply(OrthancApiClient::JsonResponseReadyMessage |
133 (message.GetUri(), userPayload_.get())); | 145 (message.GetUri(), response, userPayload_.get())); |
134 } | 146 } |
135 } | 147 else |
136 else if (binaryHandler_.get() != NULL) | |
137 { | |
138 if (broker_.IsActive(*(binaryHandler_->GetObserver()))) | |
139 { | 148 { |
140 binaryHandler_->Apply(OrthancApiClient::BinaryResponseReadyMessage | 149 NotifyConversionError(message); |
141 (message.GetUri(), message.GetAnswer(), | |
142 message.GetAnswerSize(), userPayload_.get())); | |
143 } | |
144 } | |
145 else if (jsonHandler_.get() != NULL) | |
146 { | |
147 if (broker_.IsActive(*(jsonHandler_->GetObserver()))) | |
148 { | |
149 Json::Value response; | |
150 if (MessagingToolbox::ParseJson(response, message.GetAnswer(), message.GetAnswerSize())) | |
151 { | |
152 jsonHandler_->Apply(OrthancApiClient::JsonResponseReadyMessage | |
153 (message.GetUri(), response, userPayload_.get())); | |
154 } | |
155 else | |
156 { | |
157 NotifyConversionError(message); | |
158 } | |
159 } | 150 } |
160 } | 151 } |
161 else | 152 else |
162 { | 153 { |
163 throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError); | 154 throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError); |
173 } | 164 } |
174 } | 165 } |
175 }; | 166 }; |
176 | 167 |
177 | 168 |
178 OrthancApiClient::OrthancApiClient(OrthancStone::MessageBroker& broker, | 169 OrthancApiClient::OrthancApiClient(IWebService& web, |
179 IWebService& web, | |
180 const std::string& baseUrl) : | 170 const std::string& baseUrl) : |
181 IObservable(broker), | |
182 IObserver(broker), | |
183 web_(web), | 171 web_(web), |
184 baseUrl_(baseUrl) | 172 baseUrl_(baseUrl) |
185 { | 173 { |
186 } | 174 } |
187 | 175 |
193 Orthanc::IDynamicObject* payload) | 181 Orthanc::IDynamicObject* payload) |
194 { | 182 { |
195 IWebService::HttpHeaders emptyHeaders; | 183 IWebService::HttpHeaders emptyHeaders; |
196 web_.GetAsync(baseUrl_ + uri, | 184 web_.GetAsync(baseUrl_ + uri, |
197 emptyHeaders, | 185 emptyHeaders, |
198 new WebServicePayload(IObservable::GetBroker(), successCallback, failureCallback, payload), | 186 new WebServicePayload(successCallback, failureCallback, payload), |
199 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 187 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
200 (*this, &OrthancApiClient::NotifyHttpSuccess), | 188 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), |
201 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 189 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
202 (*this, &OrthancApiClient::NotifyHttpError)); | 190 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); |
203 } | 191 } |
204 | 192 |
205 | 193 |
206 void OrthancApiClient::GetBinaryAsync( | 194 void OrthancApiClient::GetBinaryAsync( |
207 const std::string& uri, | 195 const std::string& uri, |
223 Orthanc::IDynamicObject* payload) | 211 Orthanc::IDynamicObject* payload) |
224 { | 212 { |
225 // printf("GET [%s] [%s]\n", baseUrl_.c_str(), uri.c_str()); | 213 // printf("GET [%s] [%s]\n", baseUrl_.c_str(), uri.c_str()); |
226 | 214 |
227 web_.GetAsync(baseUrl_ + uri, headers, | 215 web_.GetAsync(baseUrl_ + uri, headers, |
228 new WebServicePayload(IObservable::GetBroker(), successCallback, failureCallback, payload), | 216 new WebServicePayload(successCallback, failureCallback, payload), |
229 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 217 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
230 (*this, &OrthancApiClient::NotifyHttpSuccess), | 218 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), |
231 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 219 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
232 (*this, &OrthancApiClient::NotifyHttpError)); | 220 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); |
233 } | 221 } |
234 | 222 |
235 | 223 |
236 void OrthancApiClient::PostBinaryAsyncExpectJson( | 224 void OrthancApiClient::PostBinaryAsyncExpectJson( |
237 const std::string& uri, | 225 const std::string& uri, |
239 OrthancStone::MessageHandler<JsonResponseReadyMessage>* successCallback, | 227 OrthancStone::MessageHandler<JsonResponseReadyMessage>* successCallback, |
240 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 228 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
241 Orthanc::IDynamicObject* payload) | 229 Orthanc::IDynamicObject* payload) |
242 { | 230 { |
243 web_.PostAsync(baseUrl_ + uri, IWebService::HttpHeaders(), body, | 231 web_.PostAsync(baseUrl_ + uri, IWebService::HttpHeaders(), body, |
244 new WebServicePayload(IObservable::GetBroker(), successCallback, failureCallback, payload), | 232 new WebServicePayload(successCallback, failureCallback, payload), |
245 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 233 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
246 (*this, &OrthancApiClient::NotifyHttpSuccess), | 234 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), |
247 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 235 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
248 (*this, &OrthancApiClient::NotifyHttpError)); | 236 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); |
249 | 237 |
250 } | 238 } |
251 | 239 |
252 void OrthancApiClient::PostBinaryAsync( | 240 void OrthancApiClient::PostBinaryAsync( |
253 const std::string& uri, | 241 const std::string& uri, |
262 OrthancStone::MessageHandler<EmptyResponseReadyMessage>* successCallback, | 250 OrthancStone::MessageHandler<EmptyResponseReadyMessage>* successCallback, |
263 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 251 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
264 Orthanc::IDynamicObject* payload /* takes ownership */) | 252 Orthanc::IDynamicObject* payload /* takes ownership */) |
265 { | 253 { |
266 web_.PostAsync(baseUrl_ + uri, IWebService::HttpHeaders(), body, | 254 web_.PostAsync(baseUrl_ + uri, IWebService::HttpHeaders(), body, |
267 new WebServicePayload(IObservable::GetBroker(), successCallback, failureCallback, payload), | 255 new WebServicePayload(successCallback, failureCallback, payload), |
268 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 256 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
269 (*this, &OrthancApiClient::NotifyHttpSuccess), | 257 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), |
270 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 258 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
271 (*this, &OrthancApiClient::NotifyHttpError)); | 259 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); |
272 } | 260 } |
273 | 261 |
274 void OrthancApiClient::PostJsonAsyncExpectJson( | 262 void OrthancApiClient::PostJsonAsyncExpectJson( |
275 const std::string& uri, | 263 const std::string& uri, |
276 const Json::Value& data, | 264 const Json::Value& data, |
309 OrthancStone::MessageHandler<EmptyResponseReadyMessage>* successCallback, | 297 OrthancStone::MessageHandler<EmptyResponseReadyMessage>* successCallback, |
310 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 298 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
311 Orthanc::IDynamicObject* payload) | 299 Orthanc::IDynamicObject* payload) |
312 { | 300 { |
313 web_.DeleteAsync(baseUrl_ + uri, IWebService::HttpHeaders(), | 301 web_.DeleteAsync(baseUrl_ + uri, IWebService::HttpHeaders(), |
314 new WebServicePayload(IObservable::GetBroker(), successCallback, failureCallback, payload), | 302 new WebServicePayload(successCallback, failureCallback, payload), |
315 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 303 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
316 (*this, &OrthancApiClient::NotifyHttpSuccess), | 304 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), |
317 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 305 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
318 (*this, &OrthancApiClient::NotifyHttpError)); | 306 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); |
319 } | 307 } |
320 | 308 |
321 | 309 |
322 void OrthancApiClient::NotifyHttpSuccess(const IWebService::HttpRequestSuccessMessage& message) | 310 void OrthancApiClient::NotifyHttpSuccess(const IWebService::HttpRequestSuccessMessage& message) |
323 { | 311 { |