1#ifndef YAZE_APP_NET_WASM_EMSCRIPTEN_HTTP_CLIENT_H_
2#define YAZE_APP_NET_WASM_EMSCRIPTEN_HTTP_CLIENT_H_
7#include <condition_variable>
9#include <emscripten/fetch.h>
23class EmscriptenHttpClient :
public IHttpClient {
25 EmscriptenHttpClient();
26 ~EmscriptenHttpClient()
override;
34 absl::StatusOr<HttpResponse> Get(
35 const std::string& url,
36 const Headers& headers = {})
override;
45 absl::StatusOr<HttpResponse> Post(
46 const std::string& url,
47 const std::string& body,
48 const Headers& headers = {})
override;
57 absl::StatusOr<HttpResponse> Put(
58 const std::string& url,
59 const std::string& body,
60 const Headers& headers = {})
override;
68 absl::StatusOr<HttpResponse> Delete(
69 const std::string& url,
70 const Headers& headers = {})
override;
77 bool completed =
false;
82 std::string error_message;
84 std::condition_variable cv;
95 absl::StatusOr<HttpResponse> PerformFetch(
96 const std::string& method,
97 const std::string& url,
98 const std::string& body =
"",
99 const Headers& headers = {});
104 static void OnFetchSuccess(emscripten_fetch_t* fetch);
109 static void OnFetchError(emscripten_fetch_t* fetch);
114 static void OnFetchProgress(emscripten_fetch_t* fetch);
std::map< std::string, std::string > Headers
HTTP headers type definition.