#ifndef SENTRY_TRANSPORT_H_INCLUDED
#define SENTRY_TRANSPORT_H_INCLUDED
#include "sentry_boot.h"
typedef struct sentry_dsn_s sentry_dsn_t;
typedef struct sentry_run_s sentry_run_t;
typedef struct sentry_rate_limiter_s sentry_rate_limiter_t;
void sentry__transport_set_dump_func(sentry_transport_t *transport,
size_t (*dump_func)(sentry_run_t *run, void *state));
void sentry__transport_send_envelope(
sentry_transport_t *transport, sentry_envelope_t *envelope);
int sentry__transport_startup(
sentry_transport_t *transport, const sentry_options_t *options);
int sentry__transport_shutdown(sentry_transport_t *transport, uint64_t timeout);
sentry_transport_t *sentry__transport_new_default(void);
size_t sentry__transport_dump_queue(
sentry_transport_t *transport, sentry_run_t *run);
typedef struct sentry_prepared_http_header_s {
const char *key;
char *value;
} sentry_prepared_http_header_t;
typedef struct sentry_prepared_http_request_s {
const char *method;
char *url;
sentry_prepared_http_header_t *headers;
size_t headers_len;
char *body;
size_t body_len;
bool body_owned;
} sentry_prepared_http_request_t;
sentry_prepared_http_request_t *sentry__prepare_http_request(
sentry_envelope_t *envelope, const sentry_dsn_t *dsn,
const sentry_rate_limiter_t *rl);
void sentry__prepared_http_request_free(sentry_prepared_http_request_t *req);
#endif