#include "util/net/http_transport.h"
#include <curl/curl.h>
#include <dlfcn.h>
#include <string.h>
#include <sys/utsname.h>
#include <algorithm>
#include <limits>
#include "base/check.h"
#include "base/logging.h"
#include "base/numerics/safe_math.h"
#include "base/scoped_generic.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
#include "build/build_config.h"
#include "package.h"
#include "util/misc/no_cfi_icall.h"
#include "util/net/http_body.h"
#include "util/numeric/safe_assignment.h"
namespace crashpad {
namespace {
class Libcurl { … };
std::string UserAgent() { … }
std::string CurlErrorMessage(CURLcode curl_err, const std::string& base) { … }
struct ScopedCURLTraits { … };
ScopedCURL;
class CurlSList { … };
class ScopedClearString { … };
class HTTPTransportLibcurl final : public HTTPTransport { … };
HTTPTransportLibcurl::HTTPTransportLibcurl() : … { … }
HTTPTransportLibcurl::~HTTPTransportLibcurl() { … }
bool HTTPTransportLibcurl::ExecuteSynchronously(std::string* response_body) { … }
size_t HTTPTransportLibcurl::ReadRequestBody(char* buffer,
size_t size,
size_t nitems,
void* userdata) { … }
size_t HTTPTransportLibcurl::WriteResponseBody(char* buffer,
size_t size,
size_t nitems,
void* userdata) { … }
}
std::unique_ptr<HTTPTransport> HTTPTransport::Create() { … }
}