Skip to content

uvhttp_response.h ​

Functions ​

uvhttp_response_init(uvhttp_response_t *response, void *client) ​

uvhttp_response_set_status(uvhttp_response_t *response, int status_code) ​

uvhttp_response_set_header(uvhttp_response_t *response, const char *name, const char *value) ​

uvhttp_response_set_body(uvhttp_response_t *response, const char *body, size_t length) ​

uvhttp_response_build_data(uvhttp_response_t *response, char **out_data, size_t *out_length) ​

uvhttp_response_send_raw(const char *data, size_t length, void *client, uvhttp_response_t *response) ​

uvhttp_response_set_compress(uvhttp_response_t *response, int enable) ​

uvhttp_response_set_compress_algorithm(uvhttp_response_t *response, int algorithm) ​

uvhttp_response_set_compress_threshold(uvhttp_response_t *response, size_t threshold) ​

uvhttp_should_compress_by_extension(const char *filename) ​

Return Type: int

根据文件扩展名判断是否应该压缩

Parameters:

  • filename: 文件名或路径

Returns: int 1=应该压缩, 0=不应该压缩

Note: 零开销:简单的字符串比较 Note: 基于常见文件扩展名的最佳实践 Note: 应用层可覆盖此函数实现自定义逻辑

uvhttp_should_compress_by_content_type(const char *content_type) ​

Return Type: int

根据内容类型判断是否应该压缩

Parameters:

  • content_type: MIME 类型 (例如: "text/html", "application/json")

Returns: int 1=应该压缩, 0=不应该压缩

Note: 零开销:简单的字符串比较 Note: 基于 MIME 类型的最佳实践

uvhttp_response_set_compress_by_filename(uvhttp_response_t *response, const char *filename) ​

根据文件扩展名自动应用压缩策略

Parameters:

  • response: 响应对象
  • filename: 文件名或路径

Returns: uvhttp_error_t UVHTTP_OK 成功,错误码失败

Note: 便捷函数:结合判断和应用 Note: 自动设置压缩阈值 (1024 字节) Note: 如果文件扩展名不支持压缩,则禁用压缩

uvhttp_response_set_compress_by_content_type(uvhttp_response_t *response, const char *content_type) ​

根据内容类型自动应用压缩策略

Parameters:

  • response: 响应对象
  • content_type: MIME 类型

Returns: uvhttp_error_t UVHTTP_OK 成功,错误码失败

Note: 便捷函数:结合判断和应用 Note: 自动设置压缩阈值 (1024 字节) Note: 如果内容类型不支持压缩,则禁用压缩

uvhttp_response_send(uvhttp_response_t *response) ​

uvhttp_response_cleanup(uvhttp_response_t *response) ​

Return Type: void

uvhttp_response_free(uvhttp_response_t *response) ​

Return Type: void

uvhttp_response_get_header_count(uvhttp_response_t *response) ​

Return Type: size_t

uvhttp_response_get_header_at(uvhttp_response_t *response, size_t index) ​

Return Type: [uvhttp_header_t](#structuvhttp__header__t) *

uvhttp_response_foreach_header(uvhttp_response_t *response, uvhttp_header_callback_t callback, void *user_data) ​

Return Type: void

Released under MIT License