Mercurial > hg > orthanc-stone
comparison Platforms/Wasm/WasmWebService.cpp @ 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 | ed1a4302154f |
children | aad37d0b6407 |
comparison
equal
deleted
inserted
replaced
307:be2660b6e40a | 309:14ef1227120f |
---|---|
9 | 9 |
10 extern void WasmWebService_GetAsync(void* callableSuccess, | 10 extern void WasmWebService_GetAsync(void* callableSuccess, |
11 void* callableFailure, | 11 void* callableFailure, |
12 const char* uri, | 12 const char* uri, |
13 const char* headersInJsonString, | 13 const char* headersInJsonString, |
14 void* payload); | 14 void* payload, |
15 unsigned int timeoutInSeconds); | |
15 | 16 |
16 extern void WasmWebService_PostAsync(void* callableSuccess, | 17 extern void WasmWebService_PostAsync(void* callableSuccess, |
17 void* callableFailure, | 18 void* callableFailure, |
18 const char* uri, | 19 const char* uri, |
19 const char* headersInJsonString, | 20 const char* headersInJsonString, |
20 const void* body, | 21 const void* body, |
21 size_t bodySize, | 22 size_t bodySize, |
22 void* payload); | 23 void* payload, |
24 unsigned int timeoutInSeconds); | |
23 | 25 |
24 | 26 |
25 void EMSCRIPTEN_KEEPALIVE WasmWebService_NotifyError(void* failureCallable, | 27 void EMSCRIPTEN_KEEPALIVE WasmWebService_NotifyError(void* failureCallable, |
26 const char* uri, | 28 const char* uri, |
27 void* payload) | 29 void* payload) |
98 writer->write(jsonHeaders, &outputStr); | 100 writer->write(jsonHeaders, &outputStr); |
99 output = outputStr.str(); | 101 output = outputStr.str(); |
100 } | 102 } |
101 | 103 |
102 void WasmWebService::PostAsync(const std::string& relativeUri, | 104 void WasmWebService::PostAsync(const std::string& relativeUri, |
103 const Headers& headers, | 105 const Headers& headers, |
104 const std::string& body, | 106 const std::string& body, |
105 Orthanc::IDynamicObject* payload, | 107 Orthanc::IDynamicObject* payload, |
106 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable, | 108 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable, |
107 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallable) | 109 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallable, |
110 unsigned int timeoutInSeconds) | |
108 { | 111 { |
109 std::string uri = baseUri_ + relativeUri; | 112 std::string uri = baseUri_ + relativeUri; |
110 std::string headersInJsonString; | 113 std::string headersInJsonString; |
111 ToJsonString(headersInJsonString, headers); | 114 ToJsonString(headersInJsonString, headers); |
112 WasmWebService_PostAsync(successCallable, failureCallable, uri.c_str(), headersInJsonString.c_str(), | 115 WasmWebService_PostAsync(successCallable, failureCallable, uri.c_str(), headersInJsonString.c_str(), |
113 body.c_str(), body.size(), payload); | 116 body.c_str(), body.size(), payload, timeoutInSeconds); |
114 } | 117 } |
115 | 118 |
116 void WasmWebService::GetAsync(const std::string& relativeUri, | 119 void WasmWebService::GetAsync(const std::string& relativeUri, |
117 const Headers& headers, | 120 const Headers& headers, |
118 Orthanc::IDynamicObject* payload, | 121 Orthanc::IDynamicObject* payload, |
119 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable, | 122 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable, |
120 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallable) | 123 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallable, |
124 unsigned int timeoutInSeconds) | |
121 { | 125 { |
122 std::string uri = baseUri_ + relativeUri; | 126 std::string uri = baseUri_ + relativeUri; |
123 std::string headersInJsonString; | 127 std::string headersInJsonString; |
124 ToJsonString(headersInJsonString, headers); | 128 ToJsonString(headersInJsonString, headers); |
125 WasmWebService_GetAsync(successCallable, failureCallable, uri.c_str(), headersInJsonString.c_str(), payload); | 129 WasmWebService_GetAsync(successCallable, failureCallable, uri.c_str(), headersInJsonString.c_str(), payload, timeoutInSeconds); |
126 } | 130 } |
127 | 131 |
128 } | 132 } |