HPACK 开源项目使用教程
hpackHeader Compression for HTTP/2项目地址:https://gitcode.com/gh_mirrors/hpa/hpack
1. 项目的目录结构及介绍
HPACK 项目的目录结构如下:
hpack/
├── README.md
├── hpack.cabal
├── package.yaml
├── src/
│ ├── Hpack/
│ │ ├── Config.hs
│ │ ├── Convert.hs
│ │ ├── Dependencies.hs
│ │ ├── Field.hs
│ │ ├── Main.hs
│ │ ├── Package.hs
│ │ ├── Render.hs
│ │ ├── Section.hs
│ │ ├── Settings.hs
│ │ ├── Syntax.hs
│ │ ├── Util.hs
│ │ └── Version.hs
│ └── Main.hs
├── test/
│ ├── Hpack/
│ │ ├── ConfigSpec.hs
│ │ ├── ConvertSpec.hs
│ │ ├── DependenciesSpec.hs
│ │ ├── FieldSpec.hs
│ │ ├── PackageSpec.hs
│ │ ├── RenderSpec.hs
│ │ ├── SectionSpec.hs
│ │ ├── SettingsSpec.hs
│ │ ├── SyntaxSpec.hs
│ │ └── UtilSpec.hs
│ └── Spec.hs
└── stack.yaml
目录结构介绍
README.md
: 项目说明文档。hpack.cabal
: Cabal 格式的项目配置文件。package.yaml
: HPACK 格式的项目配置文件。src/
: 源代码目录。Hpack/
: HPACK 的主要功能模块。Config.hs
: 配置处理模块。Convert.hs
: 转换模块。Dependencies.hs
: 依赖处理模块。Field.hs
: 字段处理模块。Main.hs
: 主入口模块。Package.hs
: 包处理模块。Render.hs
: 渲染模块。Section.hs
: 节处理模块。Settings.hs
: 设置处理模块。Syntax.hs
: 语法处理模块。Util.hs
: 工具模块。Version.hs
: 版本处理模块。
test/
: 测试代码目录。Hpack/
: 测试模块。ConfigSpec.hs
: 配置测试模块。ConvertSpec.hs
: 转换测试模块。DependenciesSpec.hs
: 依赖测试模块。FieldSpec.hs
: 字段测试模块。PackageSpec.hs
: 包测试模块。RenderSpec.hs
: 渲染测试模块。SectionSpec.hs
: 节测试模块。SettingsSpec.hs
: 设置测试模块。SyntaxSpec.hs
: 语法测试模块。UtilSpec.hs
: 工具测试模块。
stack.yaml
: Stack 工具的配置文件。
2. 项目的启动文件介绍
HPACK 项目的启动文件是 src/Main.hs
。这个文件是项目的入口点,负责初始化配置和启动应用程序。
module Main where
import Hpack.Main (main)
main :: IO ()
main = Hpack.Main.main
启动文件介绍
src/Main.hs
: 主入口文件,调用Hpack.Main
模块中的main
函数来启动应用程序。
3. 项目的配置文件介绍
HPACK 项目有两个主要的配置文件:hpack.cabal
和 package.yaml
。
hpack.cabal
hpack.cabal
是 Cabal 格式的项目配置文件,包含了项目的元数据、依赖关系、构建信息等。
package.yaml
package.yaml
是 HPACK 格式的项目配置文件,提供了更简洁和易读的配置方式。它包含了项目的元数据、依赖关系、源文件路径等信息。
name: hpack
version: 0.34.4
synopsis: A modern format for Haskell packages
description: Hpack is a format for Haskell packages. It is a modern alternative to the
hpackHeader Compression for HTTP/2项目地址:https://gitcode.com/gh_mirrors/hpa/hpack