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