41 Log.traceln(
"Dirtviz::Check");
42 Log.noticeln(
"Connecting to %s:%d", url.getHost().c_str(), url.getPort());
44 if (!client.connect(url.getHost().c_str(), (uint16_t)url.getPort())) {
48 Log.traceln(
"Sending GET request");
51 std::ostringstream req;
52 req <<
"GET " <<
"/api/" <<
" HTTP/1.1" <<
"\r\n";
53 req <<
"Host: " << url.getHost().c_str() <<
"\r\n";
58 int bytes_written = client.write(req.str().c_str());
59 Log.noticeln(
"Wrote %d bytes to server", bytes_written);
67 Log.noticeln(
"Sending measurement");
68 Log.traceln(
"WiFi status: %d", WiFi.status());
71 if (!client.connect(url.getHost().c_str(), (uint16_t)url.getPort())) {
72 Log.errorln(
"Connection to %s:%d failed!", url.getHost(), url.getPort());
78 std::ostringstream headers;
79 headers <<
"POST " <<
"/" << url.getPath().c_str() <<
" HTTP/1.1" <<
"\r\n";
80 headers <<
"Host: " << url.getHost().c_str() <<
"\r\n";
82 headers <<
"Content-Type: application/octet-stream" <<
"\r\n";
83 headers <<
"Content-Length: " << meas_len <<
"\r\n";
84 headers <<
"Connection: close" <<
"\r\n";
85 headers <<
"SensorVersion: 2" <<
"\r\n";
89 std::string headers_str = headers.str();
91 Log.verboseln(
"Headers:\r\n----\r\n%s\r\n----\r\n", headers_str.c_str());
94 std::vector<char> request;
95 std::copy(headers_str.begin(), headers_str.end(),
96 std::back_inserter(request));
97 std::copy(meas, meas + meas_len, std::back_inserter(request));
99 Log.traceln(
"Length of request: %d", request.size());
100 int bytes_written = client.write(request.data(), request.size());
101 Log.noticeln(
"Wrote %d bytes to server", bytes_written);
103 return bytes_written;