comparison Framework/Toolbox/IWebService.h @ 309:14ef1227120f am-callable-and-promise

web services: better handling of failures
author am@osimis.io
date Fri, 28 Sep 2018 15:02:43 +0200
parents 547e1cf7aa7b
children aad37d0b6407
comparison
equal deleted inserted replaced
307:be2660b6e40a 309:14ef1227120f
47 const std::string& uri_; 47 const std::string& uri_;
48 const void* answer_; 48 const void* answer_;
49 size_t answerSize_; 49 size_t answerSize_;
50 Orthanc::IDynamicObject* payload_; 50 Orthanc::IDynamicObject* payload_;
51 HttpRequestSuccessMessage(const std::string& uri, 51 HttpRequestSuccessMessage(const std::string& uri,
52 const void* answer, 52 const void* answer,
53 size_t answerSize, 53 size_t answerSize,
54 Orthanc::IDynamicObject* payload) 54 Orthanc::IDynamicObject* payload)
55 : BaseMessage(), 55 : BaseMessage(),
56 uri_(uri), 56 uri_(uri),
57 answer_(answer), 57 answer_(answer),
58 answerSize_(answerSize), 58 answerSize_(answerSize),
59 payload_(payload) 59 payload_(payload)
63 struct HttpRequestErrorMessage: public BaseMessage<MessageType_HttpRequestError> 63 struct HttpRequestErrorMessage: public BaseMessage<MessageType_HttpRequestError>
64 { 64 {
65 const std::string& uri_; 65 const std::string& uri_;
66 Orthanc::IDynamicObject* payload_; 66 Orthanc::IDynamicObject* payload_;
67 HttpRequestErrorMessage(const std::string& uri, 67 HttpRequestErrorMessage(const std::string& uri,
68 Orthanc::IDynamicObject* payload) 68 Orthanc::IDynamicObject* payload)
69 : BaseMessage(), 69 : BaseMessage(),
70 uri_(uri), 70 uri_(uri),
71 payload_(payload) 71 payload_(payload)
72 {} 72 {}
73 }; 73 };
84 84
85 virtual void GetAsync(const std::string& uri, 85 virtual void GetAsync(const std::string& uri,
86 const Headers& headers, 86 const Headers& headers,
87 Orthanc::IDynamicObject* payload, 87 Orthanc::IDynamicObject* payload,
88 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, 88 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback,
89 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback) = 0; 89 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL,
90 unsigned int timeoutInSeconds = 60) = 0;
90 91
91 virtual void PostAsync(const std::string& uri, 92 virtual void PostAsync(const std::string& uri,
92 const Headers& headers, 93 const Headers& headers,
93 const std::string& body, 94 const std::string& body,
94 Orthanc::IDynamicObject* payload, 95 Orthanc::IDynamicObject* payload,
95 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, 96 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback,
96 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback) = 0; 97 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL,
98 unsigned int timeoutInSeconds = 60) = 0;
97 99
98 }; 100 };
99 } 101 }