1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
/*!********************************************************************
Audacity: A Digital Audio Editor
@file SentryRequestBuilder.h
@brief Define a class to generate the requests to Sentry.
Dmitry Vedenko
**********************************************************************/
#include "SentryRequestBuilder.h"
#include <chrono>
namespace audacity
{
namespace sentry
{
const SentryRequestBuilder& audacity::sentry::SentryRequestBuilder::Get()
{
static SentryRequestBuilder builder;
return builder;
}
network_manager::Request SentryRequestBuilder::CreateRequest() const
{
using namespace std::chrono;
const std::string sentryAuth =
std::string("Sentry sentry_version=7,sentry_timestamp=") +
std::to_string(
duration_cast<seconds>(system_clock::now().time_since_epoch())
.count()) +
",sentry_client=sentry-audacity/1.0,sentry_key=" + SENTRY_DSN_KEY;
network_manager::Request request(mUrl);
request.setHeader("Content-Type", "application/json");
request.setHeader("X-Sentry-Auth", sentryAuth);
return request;
}
SentryRequestBuilder::SentryRequestBuilder()
{
mUrl = std::string("https://") + SENTRY_DSN_KEY + "@" + SENTRY_HOST +
"/api/" + SENTRY_PROJECT + "/store/";
}
} // namespace sentry
} // namespace audacity
|