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

View File

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

View File

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