Mercurial > hg > orthanc-stone
comparison Platforms/Wasm/WasmWebService.cpp @ 418:c23df8b3433b
refactoring
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 15 Nov 2018 18:32:48 +0100 |
parents | aee3d7941c9b |
children | 3a8bcc45c221 |
comparison
equal
deleted
inserted
replaced
417:aee3d7941c9b | 418:c23df8b3433b |
---|---|
67 Apply(OrthancStone::IWebService::HttpRequestSuccessMessage(uri, body, bodySize, headers, | 67 Apply(OrthancStone::IWebService::HttpRequestSuccessMessage(uri, body, bodySize, headers, |
68 reinterpret_cast<Orthanc::IDynamicObject*>(payload))); | 68 reinterpret_cast<Orthanc::IDynamicObject*>(payload))); |
69 } | 69 } |
70 } | 70 } |
71 | 71 |
72 void EMSCRIPTEN_KEEPALIVE WasmWebService_SetBaseUri(const char* baseUri) | |
73 { | |
74 OrthancStone::WasmWebService::GetInstance().SetBaseUri(baseUri); | |
75 } | |
76 | |
77 #ifdef __cplusplus | 72 #ifdef __cplusplus |
78 } | 73 } |
79 #endif | 74 #endif |
80 | 75 |
81 | 76 |
82 | 77 |
83 namespace OrthancStone | 78 namespace OrthancStone |
84 { | 79 { |
85 MessageBroker* WasmWebService::broker_ = NULL; | 80 MessageBroker* WasmWebService::broker_ = NULL; |
86 | |
87 void WasmWebService::SetBaseUri(const std::string baseUri) | |
88 { | |
89 // Make sure the base url ends with "/" | |
90 if (baseUri.empty() || | |
91 baseUri[baseUri.size() - 1] != '/') | |
92 { | |
93 baseUri_ = baseUri + "/"; | |
94 } | |
95 else | |
96 { | |
97 baseUri_ = baseUri; | |
98 } | |
99 } | |
100 | 81 |
101 void ToJsonString(std::string& output, const IWebService::HttpHeaders& headers) | 82 void ToJsonString(std::string& output, const IWebService::HttpHeaders& headers) |
102 { | 83 { |
103 Json::Value jsonHeaders; | 84 Json::Value jsonHeaders; |
104 for (IWebService::HttpHeaders::const_iterator it = headers.begin(); it != headers.end(); it++ ) | 85 for (IWebService::HttpHeaders::const_iterator it = headers.begin(); it != headers.end(); it++ ) |
120 Orthanc::IDynamicObject* payload, | 101 Orthanc::IDynamicObject* payload, |
121 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable, | 102 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable, |
122 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallable, | 103 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallable, |
123 unsigned int timeoutInSeconds) | 104 unsigned int timeoutInSeconds) |
124 { | 105 { |
125 std::string uri = baseUri_ + relativeUri; | |
126 std::string headersInJsonString; | 106 std::string headersInJsonString; |
127 ToJsonString(headersInJsonString, headers); | 107 ToJsonString(headersInJsonString, headers); |
128 WasmWebService_PostAsync(successCallable, failureCallable, uri.c_str(), headersInJsonString.c_str(), | 108 WasmWebService_PostAsync(successCallable, failureCallable, relativeUri.c_str(), headersInJsonString.c_str(), |
129 body.c_str(), body.size(), payload, timeoutInSeconds); | 109 body.c_str(), body.size(), payload, timeoutInSeconds); |
130 } | 110 } |
131 | 111 |
132 void WasmWebService::DeleteAsync(const std::string& relativeUri, | 112 void WasmWebService::DeleteAsync(const std::string& relativeUri, |
133 const HttpHeaders& headers, | 113 const HttpHeaders& headers, |
134 Orthanc::IDynamicObject* payload, | 114 Orthanc::IDynamicObject* payload, |
135 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable, | 115 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable, |
136 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallable, | 116 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallable, |
137 unsigned int timeoutInSeconds) | 117 unsigned int timeoutInSeconds) |
138 { | 118 { |
139 std::string uri = baseUri_ + relativeUri; | |
140 std::string headersInJsonString; | 119 std::string headersInJsonString; |
141 ToJsonString(headersInJsonString, headers); | 120 ToJsonString(headersInJsonString, headers); |
142 WasmWebService_DeleteAsync(successCallable, failureCallable, uri.c_str(), headersInJsonString.c_str(), | 121 WasmWebService_DeleteAsync(successCallable, failureCallable, relativeUri.c_str(), headersInJsonString.c_str(), |
143 payload, timeoutInSeconds); | 122 payload, timeoutInSeconds); |
144 } | 123 } |
145 | 124 |
146 void WasmWebService::GetAsync(const std::string& relativeUri, | 125 void WasmWebService::GetAsync(const std::string& relativeUri, |
147 const HttpHeaders& headers, | 126 const HttpHeaders& headers, |
148 Orthanc::IDynamicObject* payload, | 127 Orthanc::IDynamicObject* payload, |
149 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable, | 128 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable, |
150 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallable, | 129 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallable, |
151 unsigned int timeoutInSeconds) | 130 unsigned int timeoutInSeconds) |
152 { | 131 { |
153 std::string uri = baseUri_ + relativeUri; | |
154 std::string headersInJsonString; | 132 std::string headersInJsonString; |
155 ToJsonString(headersInJsonString, headers); | 133 ToJsonString(headersInJsonString, headers); |
156 WasmWebService_GetAsync(successCallable, failureCallable, uri.c_str(), headersInJsonString.c_str(), payload, timeoutInSeconds); | 134 WasmWebService_GetAsync(successCallable, failureCallable, relativeUri.c_str(), |
135 headersInJsonString.c_str(), payload, timeoutInSeconds); | |
157 } | 136 } |
158 } | 137 } |