Files
microser/include/oss_sdk/aos_http_io.h
2025-01-16 16:17:01 +08:00

56 lines
1.8 KiB
C

#ifndef LIBAOS_HTTP_IO_H
#define LIBAOS_HTTP_IO_H
#include "aos_transport.h"
#include "oss_define.h"
AOS_CPP_START
aos_http_controller_t *aos_http_controller_create(aos_pool_t *p, int owner);
/* http io error message*/
static APR_INLINE const char *aos_http_controller_get_reason(aos_http_controller_t *ctl)
{
aos_http_controller_ex_t *ctle = (aos_http_controller_ex_t *)ctl;
return ctle->reason;
}
CURL *aos_request_get();
void request_release(CURL *request);
int aos_http_io_initialize(const char *user_agent_info, int flag);
void aos_http_io_deinitialize();
int aos_http_send_request(aos_http_controller_t *ctl, aos_http_request_t *req, aos_http_response_t *resp);
void aos_set_default_request_options(aos_http_request_options_t *op);
void aos_set_default_transport_options(aos_http_transport_options_t *op);
aos_http_request_options_t *aos_http_request_options_create(aos_pool_t *p);
aos_http_request_t *aos_http_request_create(aos_pool_t *p);
aos_http_response_t *aos_http_response_create(aos_pool_t *p);
int aos_read_http_body_memory(aos_http_request_t *req, char *buffer, int len);
int aos_write_http_body_memory(aos_http_response_t *resp, const char *buffer, int len);
int aos_read_http_body_file(aos_http_request_t *req, char *buffer, int len);
int aos_write_http_body_file(aos_http_response_t *resp, const char *buffer, int len);
typedef aos_http_transport_t *(*aos_http_transport_create_pt)(aos_pool_t *p);
typedef int (*aos_http_transport_perform_pt)(aos_http_transport_t *t);
extern aos_pool_t *aos_global_pool;
extern apr_file_t *aos_stderr_file;
extern aos_http_request_options_t *aos_default_http_request_options;
extern aos_http_transport_options_t *aos_default_http_transport_options;
extern aos_http_transport_create_pt aos_http_transport_create;
extern aos_http_transport_perform_pt aos_http_transport_perform;
AOS_CPP_END
#endif