2025-01-29 10:55:49 +01:00

50 lines
1.2 KiB
C

#pragma once
#include <kinc/global.h>
#include <stdbool.h>
/*! \file http.h
\brief Provides a simple http-API.
*/
#ifdef __cplusplus
extern "C" {
#endif
#define KINC_HTTP_GET 0
#define KINC_HTTP_POST 1
#define KINC_HTTP_PUT 2
#define KINC_HTTP_DELETE 3
typedef void (*kinc_http_callback_t)(int error, int response, const char *body, void *callbackdata);
/// <summary>
/// Fires off an http request.
/// </summary>
KINC_FUNC void kinc_http_request(const char *url, const char *path, const char *data, int port, bool secure, int method, const char *header,
kinc_http_callback_t callback, void *callbackdata);
#ifdef KINC_IMPLEMENTATION_NETWORK
#define KINC_IMPLEMENTATION
#endif
#ifdef KINC_IMPLEMENTATION
#if !defined KORE_MACOS && !defined KORE_IOS && !defined KORE_WINDOWS
#include <assert.h>
void kinc_http_request(const char *url, const char *path, const char *data, int port, bool secure, int method, const char *header,
kinc_http_callback_t callback, void *callbackdata) {
assert(false); // not implemented for the current system, please send a pull-request
}
#endif
#endif
#ifdef __cplusplus
}
#endif