Mercurial > hg > orthanc-stone
comparison Framework/Toolbox/OrthancApiClient.cpp @ 417:aee3d7941c9b
preparing to load images using DICOMweb
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 15 Nov 2018 17:28:15 +0100 |
parents | 939f626eb6d7 |
children | c23df8b3433b |
comparison
equal
deleted
inserted
replaced
415:c0589c3173fd | 417:aee3d7941c9b |
---|---|
166 } | 166 } |
167 }; | 167 }; |
168 | 168 |
169 | 169 |
170 OrthancApiClient::OrthancApiClient(MessageBroker& broker, | 170 OrthancApiClient::OrthancApiClient(MessageBroker& broker, |
171 IWebService& orthanc) : | 171 IWebService& web, |
172 const std::string& baseUrl) : | |
172 IObservable(broker), | 173 IObservable(broker), |
173 IObserver(broker), | 174 IObserver(broker), |
174 orthanc_(orthanc) | 175 web_(web), |
176 baseUrl_(baseUrl) | |
175 { | 177 { |
176 } | 178 } |
177 | 179 |
178 | 180 |
179 void OrthancApiClient::GetJsonAsync( | 181 void OrthancApiClient::GetJsonAsync( |
180 const std::string& uri, | 182 const std::string& uri, |
181 MessageHandler<JsonResponseReadyMessage>* successCallback, | 183 MessageHandler<JsonResponseReadyMessage>* successCallback, |
182 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 184 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
183 Orthanc::IDynamicObject* payload) | 185 Orthanc::IDynamicObject* payload) |
184 { | 186 { |
185 orthanc_.GetAsync(uri, IWebService::Headers(), | 187 web_.GetAsync(baseUrl_ + uri, |
186 new WebServicePayload(successCallback, failureCallback, payload), | 188 IWebService::HttpHeaders(), |
187 new Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 189 new WebServicePayload(successCallback, failureCallback, payload), |
188 (*this, &OrthancApiClient::NotifyHttpSuccess), | 190 new Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
189 new Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 191 (*this, &OrthancApiClient::NotifyHttpSuccess), |
190 (*this, &OrthancApiClient::NotifyHttpError)); | 192 new Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
193 (*this, &OrthancApiClient::NotifyHttpError)); | |
191 } | 194 } |
192 | 195 |
193 | 196 |
194 void OrthancApiClient::GetBinaryAsync( | 197 void OrthancApiClient::GetBinaryAsync( |
195 const std::string& uri, | 198 const std::string& uri, |
196 const std::string& contentType, | 199 const std::string& contentType, |
197 MessageHandler<BinaryResponseReadyMessage>* successCallback, | 200 MessageHandler<BinaryResponseReadyMessage>* successCallback, |
198 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 201 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
199 Orthanc::IDynamicObject* payload) | 202 Orthanc::IDynamicObject* payload) |
200 { | 203 { |
201 IWebService::Headers headers; | 204 IWebService::HttpHeaders headers; |
202 headers["Accept"] = contentType; | 205 headers["Accept"] = contentType; |
203 GetBinaryAsync(uri, headers, successCallback, failureCallback, payload); | 206 GetBinaryAsync(uri, headers, successCallback, failureCallback, payload); |
204 } | 207 } |
205 | 208 |
206 | 209 |
207 void OrthancApiClient::GetBinaryAsync( | 210 void OrthancApiClient::GetBinaryAsync( |
208 const std::string& uri, | 211 const std::string& uri, |
209 const IWebService::Headers& headers, | 212 const IWebService::HttpHeaders& headers, |
210 MessageHandler<BinaryResponseReadyMessage>* successCallback, | 213 MessageHandler<BinaryResponseReadyMessage>* successCallback, |
211 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 214 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
212 Orthanc::IDynamicObject* payload) | 215 Orthanc::IDynamicObject* payload) |
213 { | 216 { |
214 orthanc_.GetAsync(uri, headers, | 217 web_.GetAsync(baseUrl_ + uri, headers, |
215 new WebServicePayload(successCallback, failureCallback, payload), | 218 new WebServicePayload(successCallback, failureCallback, payload), |
216 new Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 219 new Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
217 (*this, &OrthancApiClient::NotifyHttpSuccess), | 220 (*this, &OrthancApiClient::NotifyHttpSuccess), |
218 new Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 221 new Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
219 (*this, &OrthancApiClient::NotifyHttpError)); | 222 (*this, &OrthancApiClient::NotifyHttpError)); |
220 } | 223 } |
221 | 224 |
222 | 225 |
223 void OrthancApiClient::PostBinaryAsyncExpectJson( | 226 void OrthancApiClient::PostBinaryAsyncExpectJson( |
224 const std::string& uri, | 227 const std::string& uri, |
225 const std::string& body, | 228 const std::string& body, |
226 MessageHandler<JsonResponseReadyMessage>* successCallback, | 229 MessageHandler<JsonResponseReadyMessage>* successCallback, |
227 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 230 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
228 Orthanc::IDynamicObject* payload) | 231 Orthanc::IDynamicObject* payload) |
229 { | 232 { |
230 orthanc_.PostAsync(uri, IWebService::Headers(), body, | 233 web_.PostAsync(baseUrl_ + uri, IWebService::HttpHeaders(), body, |
231 new WebServicePayload(successCallback, failureCallback, payload), | 234 new WebServicePayload(successCallback, failureCallback, payload), |
232 new Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 235 new Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
233 (*this, &OrthancApiClient::NotifyHttpSuccess), | 236 (*this, &OrthancApiClient::NotifyHttpSuccess), |
234 new Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 237 new Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
235 (*this, &OrthancApiClient::NotifyHttpError)); | 238 (*this, &OrthancApiClient::NotifyHttpError)); |
236 | 239 |
237 } | 240 } |
238 | 241 |
239 | 242 |
240 void OrthancApiClient::PostJsonAsyncExpectJson( | 243 void OrthancApiClient::PostJsonAsyncExpectJson( |
254 const std::string& uri, | 257 const std::string& uri, |
255 MessageHandler<EmptyResponseReadyMessage>* successCallback, | 258 MessageHandler<EmptyResponseReadyMessage>* successCallback, |
256 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 259 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
257 Orthanc::IDynamicObject* payload) | 260 Orthanc::IDynamicObject* payload) |
258 { | 261 { |
259 orthanc_.DeleteAsync(uri, IWebService::Headers(), | 262 web_.DeleteAsync(baseUrl_ + uri, IWebService::HttpHeaders(), |
260 new WebServicePayload(successCallback, failureCallback, payload), | 263 new WebServicePayload(successCallback, failureCallback, payload), |
261 new Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 264 new Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
262 (*this, &OrthancApiClient::NotifyHttpSuccess), | 265 (*this, &OrthancApiClient::NotifyHttpSuccess), |
263 new Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 266 new Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
264 (*this, &OrthancApiClient::NotifyHttpError)); | 267 (*this, &OrthancApiClient::NotifyHttpError)); |
265 } | 268 } |
266 | 269 |
267 | 270 |
268 void OrthancApiClient::NotifyHttpSuccess(const IWebService::HttpRequestSuccessMessage& message) | 271 void OrthancApiClient::NotifyHttpSuccess(const IWebService::HttpRequestSuccessMessage& message) |
269 { | 272 { |