Mercurial > hg > orthanc-stone
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 } |