diff 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
line wrap: on
line diff
--- a/Framework/Toolbox/IWebService.h	Tue Sep 25 15:14:53 2018 +0200
+++ b/Framework/Toolbox/IWebService.h	Fri Sep 28 15:02:43 2018 +0200
@@ -49,9 +49,9 @@
       size_t answerSize_;
       Orthanc::IDynamicObject* payload_;
       HttpRequestSuccessMessage(const std::string& uri,
-                                   const void* answer,
-                                   size_t answerSize,
-                                   Orthanc::IDynamicObject* payload)
+                                const void* answer,
+                                size_t answerSize,
+                                Orthanc::IDynamicObject* payload)
         : BaseMessage(),
           uri_(uri),
           answer_(answer),
@@ -65,7 +65,7 @@
       const std::string& uri_;
       Orthanc::IDynamicObject* payload_;
       HttpRequestErrorMessage(const std::string& uri,
-                                 Orthanc::IDynamicObject* payload)
+                              Orthanc::IDynamicObject* payload)
         : BaseMessage(),
           uri_(uri),
           payload_(payload)
@@ -86,14 +86,16 @@
                           const Headers& headers,
                           Orthanc::IDynamicObject* payload,
                           MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback,
-                          MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback) = 0;
+                          MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL,
+                          unsigned int timeoutInSeconds = 60) = 0;
 
     virtual void PostAsync(const std::string& uri,
                            const Headers& headers,
                            const std::string& body,
                            Orthanc::IDynamicObject* payload,
                            MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback,
-                           MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback) = 0;
+                           MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL,
+                           unsigned int timeoutInSeconds = 60) = 0;
 
   };
 }