4 个稳定版本
1.2.1 | 2021年3月29日 |
---|---|
1.2.0 | 2021年1月16日 |
1.1.0 | 2020年12月22日 |
1.0.0 | 2020年11月10日 |
#2304 在 解析器实现 中
120KB
2.5K SLoC
Http (rhymuweb)
这是一个实现RFC 7230,“超文本传输协议 (HTTP/1.1):消息语法和路由”的通用类型的库。
有关此库的Rust实现的更多信息,请参阅crate 文档。
此库的目的是提供Request
和Response
类型,这些类型可用于解析和生成超文本传输协议 (HTTP) 请求和响应。
这是一个多语言库,包含以下编程语言的独立实现
- C++
- Rust
构建C++实现
构建了一个依赖C++11编译器、C++标准库和以下非标准依赖项的可移植库。它几乎可以在任何平台上运行。以下是一些流行平台的推荐工具链。
- Windows -- Visual Studio (Microsoft Visual C++)
- Linux -- clang 或 gcc
- MacOS -- Xcode (clang)
此库不是旨在独立使用。它旨在包含在更大的解决方案中,该解决方案使用CMake生成构建系统并构建链接到库的应用程序。
构建过程有两个不同的步骤
- 使用CMake生成构建系统
- 使用与CMake兼容的工具链进行编译、链接等。
先决条件
- CMake版本3.8或更高版本
- 与CMake兼容的C++11工具链,适用于您的开发平台(例如Windows上的Visual Studio)
- MessageHeaders - 一个可以解析和生成电子邮件或Web消息头的库
- StringExtensions - 一个包含C++字符串库的库,其中许多应该包含在标准库中,但实际上并未包含。
- SystemAbstractions - 一个跨平台适配库,用于处理不同操作系统的系统服务,其API各不相同
- Timekeeping - 一个处理时间和任务调度的类和接口库
- Uri - 一个能够解析和生成统一资源标识符(URIs)的库
- zlib - 基础压缩库
构建系统生成
从解决方案根目录使用 CMake 生成构建系统。例如
mkdir build
cd build
cmake -G "Visual Studio 15 2017" -A "x64" ..
编译、链接等
可以使用 CMake 或您的工具链的IDE进行构建。对于 CMake
cd build
cmake --build . --config Release
依赖项
~5.5MB
~175K SLoC