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解析器实现

MIT 许可证

120KB
2.5K SLoC

Http (rhymuweb)

这是一个实现RFC 7230,“超文本传输协议 (HTTP/1.1):消息语法和路由”的通用类型的库。

Crates.io Documentation

有关此库的Rust实现的更多信息,请参阅crate 文档

此库的目的是提供RequestResponse类型,这些类型可用于解析和生成超文本传输协议 (HTTP) 请求和响应。

这是一个多语言库,包含以下编程语言的独立实现

  • C++
  • Rust

构建C++实现

构建了一个依赖C++11编译器、C++标准库和以下非标准依赖项的可移植库。它几乎可以在任何平台上运行。以下是一些流行平台的推荐工具链。

  • Windows -- Visual Studio (Microsoft Visual C++)
  • Linux -- clang 或 gcc
  • MacOS -- Xcode (clang)

此库不是旨在独立使用。它旨在包含在更大的解决方案中,该解决方案使用CMake生成构建系统并构建链接到库的应用程序。

构建过程有两个不同的步骤

  1. 使用CMake生成构建系统
  2. 使用与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