Compare commits

..

7 Commits

Author SHA1 Message Date
Benjamin Sergeant
a788b31080 ws_cobra_to_sentry improvements 2019-06-05 18:45:31 -07:00
Benjamin Sergeant
03a2f1443b HttpClient class is not thread safe, we should protect it as we only have one socket 2019-06-05 18:43:35 -07:00
Benjamin Sergeant
6e0463c981 cobra_to_sentry / add tags 2019-06-05 17:34:33 -07:00
Benjamin Sergeant
e9399a0734 add more logging 2019-06-05 16:38:51 -07:00
Benjamin Sergeant
7b2ddb5e7c fix ws + add doc 2019-06-05 16:04:51 -07:00
Benjamin Sergeant
c7cb743a69 fix command line tools 2019-06-05 15:52:31 -07:00
Benjamin Sergeant
3257ad1363 unittest working / uses shared_ptr for a bunch of things 🗿 2019-06-05 15:26:31 -07:00
4 changed files with 14 additions and 10 deletions

View File

@@ -1 +1 @@
docker/Dockerfile.alpine
docker/Dockerfile.ubuntu_artful

View File

@@ -169,15 +169,18 @@ namespace ix
std::pair<HttpResponsePtr, std::string> SentryClient::send(const Json::Value& msg,
bool verbose)
{
std::string log;
auto args = _httpClient.createRequest();
args->extraHeaders["X-Sentry-Auth"] = SentryClient::computeAuthHeader();
args->connectTimeout = 60;
args->transferTimeout = 5 * 60;
args->followRedirects = true;
args->verbose = verbose;
args->logger = [](const std::string& msg)
args->logger = [&log](const std::string& msg)
{
spdlog::info("request logger: {}", msg);
log += msg;
std::cout << msg;
};
std::string body = computePayload(msg);
@@ -193,7 +196,7 @@ namespace ix
spdlog::info("Upload size: {}", response->uploadSize);
spdlog::info("Download size: {}", response->downloadSize);
spdlog::info("Status: {}", response->statusCode);
std::cerr << "Status: " << response->statusCode << std::endl;
if (response->errorCode != HttpErrorCode::Ok)
{
spdlog::info("error message: {}", response->errorMsg);
@@ -205,6 +208,6 @@ namespace ix
}
}
return std::make_pair(response, body);
return std::make_pair(response, log);
}
} // namespace ix

View File

@@ -10,6 +10,7 @@
#if defined(IXWEBSOCKET_USE_MBED_TLS)
# include <mbedtls/md.h>
#elif defined(__APPLE__)
# include <ixwebsocket/IXSocketMbedTLS.h>
# include <CommonCrypto/CommonHMAC.h>
#else
# include <openssl/hmac.h>

View File

@@ -47,12 +47,12 @@ namespace ix
std::condition_variable progressCondition;
std::queue<Json::Value> queue;
SentryClient sentryClient(dsn);
auto sentrySender = [&condition, &progressCondition, &conditionVariableMutex,
&queue, verbose, &errorSending, &sentCount,
&stop, &dsn]
&stop, &sentryClient]
{
SentryClient sentryClient(dsn);
while (true)
{
Json::Value msg;
@@ -70,8 +70,8 @@ namespace ix
if (response->statusCode != 200)
{
spdlog::error("Error sending data to sentry: {}", response->statusCode);
spdlog::error("Body: {}", ret.second);
spdlog::error("Response: {}", response->payload);
spdlog::error("Log: {}", ret.second);
errorSending = true;
}
else
@@ -192,6 +192,6 @@ namespace ix
pool[i].join();
}
return (strict && errorSending) ? 1 : 0;
return 0;
}
}