@@ -74,10 +74,15 @@ void influxdb::raw::db::post(string_t const & query)
74
74
// synchronous for now
75
75
auto response = client.request (
76
76
request_from (builder.to_string (), " " , username, password)
77
- ). get () ;
77
+ );
78
78
79
- if (response.status_code () != status_codes::OK) {
80
- throw_response (response);
79
+ try {
80
+ response.wait ();
81
+ if (response.get ().status_code () != status_codes::OK) {
82
+ throw_response (response.get ());
83
+ }
84
+ } catch (const std::exception & e) {
85
+ throw std::runtime_error (e.what ());
81
86
}
82
87
}
83
88
@@ -90,29 +95,42 @@ string_t influxdb::raw::db::get(string_t const & query)
90
95
// synchronous for now
91
96
auto response = client.request (
92
97
request_from (builder.to_string (), " " , username, password)
93
- ).get ();
94
- if (response.status_code () == status_codes::OK)
95
- {
96
- return response.extract_string ().get ();
97
- }
98
- else
99
- {
100
- throw_response (response);
101
- return string_t ();
98
+ );
99
+
100
+ try {
101
+ response.wait ();
102
+ if (response.get ().status_code () == status_codes::OK)
103
+ {
104
+ return response.get ().extract_string ().get ();
105
+ }
106
+ else
107
+ {
108
+ throw_response (response.get ());
109
+ return string_t ();
110
+ }
111
+ } catch (const std::exception & e) {
112
+ throw std::runtime_error (e.what ());
102
113
}
103
114
}
104
115
105
116
void influxdb::raw::db::insert (std::string const & lines)
106
117
{
107
- auto response = client.request (request_from (uri_with_db, lines, username, password)).get ();
108
- if (!(response.status_code () == status_codes::OK || response.status_code () == status_codes::NoContent)) {
109
- throw_response (response);
118
+ auto response = client.request (request_from (uri_with_db, lines, username, password));
119
+
120
+ try {
121
+ response.wait ();
122
+ if (!(response.get ().status_code () == status_codes::OK || response.get ().status_code () == status_codes::NoContent)) {
123
+ throw_response (response.get ());
124
+ }
125
+ } catch (const std::exception & e) {
126
+ throw std::runtime_error (e.what ());
110
127
}
111
128
}
112
129
130
+ // synchronous for now
113
131
void influxdb::raw::db::insert_async (std::string const & lines)
114
132
{
115
- client. request ( request_from (uri_with_db, lines, username, password) );
133
+ insert ( lines);
116
134
}
117
135
118
136
void influxdb::raw::db::with_authentication (std::string const & username, std::string const & password)
0 commit comments