comparison Platforms/Generic/WebServicePostCommand.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 14ef1227120f
children b70e9be013e4
comparison
equal deleted inserted replaced
415:c0589c3173fd 417:aee3d7941c9b
27 { 27 {
28 WebServicePostCommand::WebServicePostCommand(MessageBroker& broker, 28 WebServicePostCommand::WebServicePostCommand(MessageBroker& broker,
29 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, // takes ownership 29 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, // takes ownership
30 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, // takes ownership 30 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, // takes ownership
31 const Orthanc::WebServiceParameters& parameters, 31 const Orthanc::WebServiceParameters& parameters,
32 const std::string& uri, 32 const std::string& url,
33 const IWebService::Headers& headers, 33 const IWebService::HttpHeaders& headers,
34 unsigned int timeoutInSeconds, 34 unsigned int timeoutInSeconds,
35 const std::string& body, 35 const std::string& body,
36 Orthanc::IDynamicObject* payload /* takes ownership */, 36 Orthanc::IDynamicObject* payload /* takes ownership */,
37 NativeStoneApplicationContext& context) : 37 NativeStoneApplicationContext& context) :
38 WebServiceCommandBase(broker, successCallback, failureCallback, parameters, uri, headers, timeoutInSeconds, payload, context), 38 WebServiceCommandBase(broker, successCallback, failureCallback, parameters, url, headers, timeoutInSeconds, payload, context),
39 body_(body) 39 body_(body)
40 { 40 {
41 } 41 }
42 42
43 void WebServicePostCommand::Execute() 43 void WebServicePostCommand::Execute()
44 { 44 {
45 Orthanc::HttpClient client(parameters_, uri_); 45 Orthanc::HttpClient client(parameters_, "/");
46 client.SetUrl(url_);
46 client.SetTimeout(timeoutInSeconds_); 47 client.SetTimeout(timeoutInSeconds_);
47 client.SetMethod(Orthanc::HttpMethod_Post); 48 client.SetMethod(Orthanc::HttpMethod_Post);
48 client.GetBody().swap(body_); 49 client.GetBody().swap(body_);
49 50
50 for (IWebService::Headers::const_iterator it = headers_.begin(); it != headers_.end(); it++ ) 51 for (IWebService::HttpHeaders::const_iterator it = headers_.begin(); it != headers_.end(); it++ )
51 { 52 {
52 client.AddHeader(it->first, it->second); 53 client.AddHeader(it->first, it->second);
53 } 54 }
54 55
55 success_ = client.Apply(answer_); 56 success_ = client.Apply(answer_, answerHeaders_);
56 } 57 }
57
58 } 58 }