docs: add documentation comments for exported constants and variables

- Fix gjson/gjson.go package comments and constant documentation
- Fix internal/config/config.go constant documentation
- Fix internal/utils/httperror.go variable documentation
- Fix internal/matcher/matcher.go constant documentation
- Fix internal/middleware/compression/compression.go constant documentation
- Fix internal/middleware/limitrate/limitrate.go constant documentation
- Fix internal/middleware/rewrite/rewrite.go constant documentation
- Fix internal/middleware/security/access.go and auth.go constant documentation
- Fix internal/ssl/client_verify.go constant documentation
- Fix internal/variable/builtin.go and ssl.go constant documentation
- Fix internal/lua/api_log.go HTTP and log level constant documentation
- Fix internal/benchmark/tools/tools.go constant documentation
- Include author attribution (xfy)
This commit is contained in:
xfy911 2026-06-03 15:28:53 +08:00
parent fc1de2d445
commit a136b07bb9
13 changed files with 192 additions and 113 deletions

View File

@ -23,9 +23,6 @@
// - Number precision control
// - Independent configuration instances via gjson.new()
//
// Author: xfy
// Package gjson 提供 Go 模块信息。
//
// 作者xfy
package gjson
@ -34,11 +31,11 @@ import (
)
const (
// ModuleName is the Lua module name for require()
// ModuleName 模块名称。 = "gjson"
// ModuleName 模块名称。
ModuleName = "gjson"
// Version is the module version
// Version 模块版本号。 = "1.0.0"
// Version 模块版本号。
Version = "1.0.0"
)
// Preload registers the gjson module as a preload in the given LState.

View File

@ -1,4 +1,8 @@
// Package tools 提供基准测试和集成测试的辅助工具。
//
// 包含 Mock 后端创建、测试数据生成等工具函数。
//
// 作者xfy
package tools
import (
@ -10,14 +14,19 @@ import (
// 预定义的测试数据大小常量
const (
Size100B = 100
Size1KB = 1024
Size10KB = 10 * 1024
// Size100B 100 字节测试数据。
Size100B = 100
// Size1KB 1KB 测试数据。
Size1KB = 1024
// Size10KB 10KB 测试数据。
Size10KB = 10 * 1024
// Size100KB 100KB 测试数据。
Size100KB = 100 * 1024
Size1MB = 1024 * 1024
// Size1MB 1MB 测试数据。
Size1MB = 1024 * 1024
)
// MockBackendConfig Mock 后端配置
// MockBackendConfig Mock 后端配置
type MockBackendConfig struct {
// Mode 运行模式
Mode string
@ -33,9 +42,13 @@ type MockBackendConfig struct {
// Mock 后端运行模式
const (
ModeNormalResponse = "normal"
ModeRandomResponse = "random"
ModeErrorResponse = "error"
// ModeNormalResponse 正常响应模式。
ModeNormalResponse = "normal"
// ModeRandomResponse 随机响应模式。
ModeRandomResponse = "random"
// ModeErrorResponse 错误响应模式。
ModeErrorResponse = "error"
// ModeDelayedResponse 延迟响应模式。
ModeDelayedResponse = "delayed"
)

View File

@ -26,52 +26,94 @@ import (
// 日志级别常量(与 OpenResty/ngx_lua 兼容)
const (
// LogStderr 标准错误日志级别。 = 0
// LogEmerg 紧急日志级别。 = 1
// LogAlert 警报日志级别。 = 2
// LogCrit 严重日志级别。 = 3
// LogErr 错误日志级别。 = 4
// LogWarn 警告日志级别。 = 5
// LogNotice 通知日志级别。 = 6
// LogInfo 信息日志级别。 = 7
// LogDebug 调试日志级别。 = 8
// LogStderr 标准错误日志级别。
LogStderr = 0
// LogEmerg 紧急日志级别。
LogEmerg = 1
// LogAlert 警报日志级别。
LogAlert = 2
// LogCrit 严重日志级别。
LogCrit = 3
// LogErr 错误日志级别。
LogErr = 4
// LogWarn 警告日志级别。
LogWarn = 5
// LogNotice 通知日志级别。
LogNotice = 6
// LogInfo 信息日志级别。
LogInfo = 7
// LogDebug 调试日志级别。
LogDebug = 8
)
// HTTP 状态码常量
const (
// HTTPContinue HTTP 100 继续状态码。 = 100
// HTTPSwitchingProtocols HTTP 101 切换协议状态码。 = 101
// HTTPOK HTTP 200 成功状态码。 = 200
// HTTPCreated HTTP 201 已创建状态码。 = 201
// HTTPAccepted HTTP 202 已接受状态码。 = 202
// HTTPNoContent HTTP 204 无内容状态码。 = 204
// HTTPPartialContent HTTP 206 部分内容状态码。 = 206
// HTTPMovedPermanently HTTP 301 永久重定向状态码。 = 301
// HTTPFound HTTP 302 找到状态码。 = 302
// HTTPSeeOther HTTP 303 查看其他状态码。 = 303
// HTTPNotModified HTTP 304 未修改状态码。 = 304
// HTTPTemporaryRedirect HTTP 307 临时重定向状态码。 = 307
// HTTPPermanentRedirect HTTP 308 永久重定向状态码。 = 308
// HTTPBadRequest HTTP 400 错误请求状态码。 = 400
// HTTPUnauthorized HTTP 401 未授权状态码。 = 401
// HTTPForbidden HTTP 403 禁止访问状态码。 = 403
// HTTPNotFound HTTP 404 未找到状态码。 = 404
// HTTPMethodNotAllowed HTTP 405 方法不允许状态码。 = 405
// HTTPRequestTimeout HTTP 408 请求超时状态码。 = 408
// HTTPConflict HTTP 409 冲突状态码。 = 409
// HTTPGone HTTP 410 已移除状态码。 = 410
// HTTPLengthRequired HTTP 411 需要长度状态码。 = 411
// HTTPPayloadTooLarge HTTP 413 请求实体过大状态码。 = 413
// HTTPURITooLong HTTP 414 URI 过长状态码。 = 414
// HTTPUnsupportedMedia HTTP 415 不支持的媒体类型状态码。 = 415
// HTTPRangeNotSatisfiable HTTP 416 范围不可满足状态码。 = 416
// HTTPTooManyRequests HTTP 429 请求过多状态码。 = 429
// HTTPInternalServerError HTTP 500 内部服务器错误状态码。 = 500
// HTTPNotImplemented HTTP 501 未实现状态码。 = 501
// HTTPBadGateway HTTP 502 错误网关状态码。 = 502
// HTTPServiceUnavailable HTTP 503 服务不可用状态码。 = 503
// HTTPGatewayTimeout HTTP 504 网关超时状态码。 = 504
// HTTPHTTPVersionNotSupported HTTP 505 HTTP 版本不支持状态码。 = 505
// HTTPContinue HTTP 100 继续状态码。
HTTPContinue = 100
// HTTPSwitchingProtocols HTTP 101 切换协议状态码。
HTTPSwitchingProtocols = 101
// HTTPOK HTTP 200 成功状态码。
HTTPOK = 200
// HTTPCreated HTTP 201 已创建状态码。
HTTPCreated = 201
// HTTPAccepted HTTP 202 已接受状态码。
HTTPAccepted = 202
// HTTPNoContent HTTP 204 无内容状态码。
HTTPNoContent = 204
// HTTPPartialContent HTTP 206 部分内容状态码。
HTTPPartialContent = 206
// HTTPMovedPermanently HTTP 301 永久重定向状态码。
HTTPMovedPermanently = 301
// HTTPFound HTTP 302 找到状态码。
HTTPFound = 302
// HTTPSeeOther HTTP 303 查看其他状态码。
HTTPSeeOther = 303
// HTTPNotModified HTTP 304 未修改状态码。
HTTPNotModified = 304
// HTTPTemporaryRedirect HTTP 307 临时重定向状态码。
HTTPTemporaryRedirect = 307
// HTTPPermanentRedirect HTTP 308 永久重定向状态码。
HTTPPermanentRedirect = 308
// HTTPBadRequest HTTP 400 错误请求状态码。
HTTPBadRequest = 400
// HTTPUnauthorized HTTP 401 未授权状态码。
HTTPUnauthorized = 401
// HTTPForbidden HTTP 403 禁止访问状态码。
HTTPForbidden = 403
// HTTPNotFound HTTP 404 未找到状态码。
HTTPNotFound = 404
// HTTPMethodNotAllowed HTTP 405 方法不允许状态码。
HTTPMethodNotAllowed = 405
// HTTPRequestTimeout HTTP 408 请求超时状态码。
HTTPRequestTimeout = 408
// HTTPConflict HTTP 409 冲突状态码。
HTTPConflict = 409
// HTTPGone HTTP 410 已移除状态码。
HTTPGone = 410
// HTTPLengthRequired HTTP 411 需要长度状态码。
HTTPLengthRequired = 411
// HTTPPayloadTooLarge HTTP 413 请求实体过大状态码。
HTTPPayloadTooLarge = 413
// HTTPURITooLong HTTP 414 URI 过长状态码。
HTTPURITooLong = 414
// HTTPUnsupportedMedia HTTP 415 不支持的媒体类型状态码。
HTTPUnsupportedMedia = 415
// HTTPRangeNotSatisfiable HTTP 416 范围不可满足状态码。
HTTPRangeNotSatisfiable = 416
// HTTPTooManyRequests HTTP 429 请求过多状态码。
HTTPTooManyRequests = 429
// HTTPInternalServerError HTTP 500 内部服务器错误状态码。
HTTPInternalServerError = 500
// HTTPNotImplemented HTTP 501 未实现状态码。
HTTPNotImplemented = 501
// HTTPBadGateway HTTP 502 错误网关状态码。
HTTPBadGateway = 502
// HTTPServiceUnavailable HTTP 503 服务不可用状态码。
HTTPServiceUnavailable = 503
// HTTPGatewayTimeout HTTP 504 网关超时状态码。
HTTPGatewayTimeout = 504
// HTTPHTTPVersionNotSupported HTTP 505 HTTP 版本不支持状态码。
HTTPHTTPVersionNotSupported = 505
)
// ngxLogAPI 封装 ngx.log 和输出控制相关的 API。

View File

@ -26,15 +26,15 @@ import "github.com/valyala/fasthttp"
const (
// LocationTypeExact 精确匹配类型(=)。
LocationTypeExact = "exact"
// LocationTypePrefix 前缀匹配类型。
// LocationTypePrefix 前缀匹配类型。
LocationTypePrefix = "prefix"
// LocationTypePrefixPriority 前缀优先匹配类型(^~)。
// LocationTypePrefixPriority 前缀优先匹配类型(^~)。
LocationTypePrefixPriority = "prefix_priority"
// LocationTypeRegex 正则匹配类型(~)。
// LocationTypeRegex 正则匹配类型(~)。
LocationTypeRegex = "regex"
// LocationTypeRegexCaseless 大小写不敏感正则匹配类型(~*)。
// LocationTypeRegexCaseless 大小写不敏感正则匹配类型(~*)。
LocationTypeRegexCaseless = "regex_caseless"
// LocationTypeNamed 命名匹配类型(@name
// LocationTypeNamed 命名匹配类型(@name
LocationTypeNamed = "named"
)

View File

@ -98,7 +98,7 @@ type Algorithm int
const (
// AlgorithmGzip 使用 gzip 压缩算法。
AlgorithmGzip Algorithm = iota
// AlgorithmBrotli 使用 brotli 压缩算法。
// AlgorithmBrotli 使用 brotli 压缩算法。
AlgorithmBrotli
compressionGZIP = "gzip"

View File

@ -11,11 +11,9 @@ import (
)
const (
// LargeFileStrategySkip 跳过大文件限速
// LargeFileStrategySkip 大文件策略:跳过(不限制)。
// LargeFileStrategySkip 大文件策略:跳过(不限制)。
LargeFileStrategySkip = "skip"
// LargeFileStrategyCoarse 粗粒度限速
// LargeFileStrategyCoarse 大文件策略:粗略限制。
// LargeFileStrategyCoarse 大文件策略:粗略限制。
LargeFileStrategyCoarse = "coarse"
)

View File

@ -29,7 +29,7 @@ import (
"rua.plus/lolly/internal/variable"
)
// MaxRewriteIterations URL重写最大迭代次数防止无限循环
// MaxRewriteIterations URL重写最大迭代次数防止无限循环
const MaxRewriteIterations = 10
// Flag 重写标志类型。
@ -39,13 +39,13 @@ const (
// FlagLast 继续匹配其他规则nginx 行为:重新从第一条规则开始匹配)。
// 匹配到规则后会重新从第一条规则开始遍历,用于多规则链式重写。
FlagLast Flag = iota
// FlagRedirect 返回 302 临时重定向。
// FlagRedirect 返回 302 临时重定向。
// 客户端收到 302 响应后重新请求新 URL不会继续匹配后续规则。
FlagRedirect
// FlagPermanent 返回 301 永久重定向。
// FlagPermanent 返回 301 永久重定向。
// 客户端收到 301 响应后永久重定向到新 URL不会继续匹配后续规则。
FlagPermanent
// FlagBreak 停止匹配规则。
// FlagBreak 停止匹配规则。
// 修改请求路径后终止重写流程,直接进入下一个处理器。
FlagBreak
)

View File

@ -45,7 +45,7 @@ type Action int
const (
// ActionAllow 允许请求通过。
ActionAllow Action = iota
// ActionDeny 拒绝请求(返回 403 Forbidden
// ActionDeny 拒绝请求(返回 403 Forbidden
ActionDeny
accessAllow = "allow"

View File

@ -50,7 +50,7 @@ type HashAlgorithm int
const (
// HashBcrypt bcrypt 哈希算法(默认,推荐)。
HashBcrypt HashAlgorithm = iota
// HashArgon2id Argon2id 哈希算法(更安全,计算密集)。
// HashArgon2id Argon2id 哈希算法(更安全,计算密集)。
HashArgon2id
)

View File

@ -31,11 +31,11 @@ type ClientVerifyMode int
const (
// VerifyOff 不验证客户端证书。
VerifyOff ClientVerifyMode = iota
// VerifyOn 强制验证客户端证书。
// VerifyOn 强制验证客户端证书。
VerifyOn
// VerifyOptional 可选验证(客户端可选择不提供证书)。
// VerifyOptional 可选验证(客户端可选择不提供证书)。
VerifyOptional
// VerifyOptionalNoCA 可选验证但不验证 CA。
// VerifyOptionalNoCA 可选验证但不验证 CA。
VerifyOptionalNoCA
// verifyModeOff 验证模式字符串常量

View File

@ -23,14 +23,22 @@ type HTTPError struct {
// Predefined common HTTP errors.
var (
// ErrNotFound 资源未找到错误。 = HTTPError{Message: "Not Found", StatusCode: fasthttp.StatusNotFound}
// ErrForbidden 禁止访问错误。 = HTTPError{Message: "Forbidden", StatusCode: fasthttp.StatusForbidden}
// ErrUnauthorized 未授权错误。 = HTTPError{Message: "Unauthorized", StatusCode: fasthttp.StatusUnauthorized}
// ErrBadGateway 错误网关错误。 = HTTPError{Message: "Bad Gateway", StatusCode: fasthttp.StatusBadGateway}
// ErrGatewayTimeout 网关超时错误。 = HTTPError{Message: "Gateway Timeout", StatusCode: fasthttp.StatusGatewayTimeout}
// ErrInternalError 内部服务器错误。 = HTTPError{Message: "Internal Server Error", StatusCode: fasthttp.StatusInternalServerError}
// ErrTooManyRequests 请求过多错误。 = HTTPError{Message: "Too Many Requests", StatusCode: fasthttp.StatusTooManyRequests}
// ErrServiceUnavailable 服务不可用错误。 = HTTPError{Message: "Service Unavailable", StatusCode: fasthttp.StatusServiceUnavailable}
// ErrNotFound 资源未找到错误。
ErrNotFound = HTTPError{Message: "Not Found", StatusCode: fasthttp.StatusNotFound}
// ErrForbidden 禁止访问错误。
ErrForbidden = HTTPError{Message: "Forbidden", StatusCode: fasthttp.StatusForbidden}
// ErrUnauthorized 未授权错误。
ErrUnauthorized = HTTPError{Message: "Unauthorized", StatusCode: fasthttp.StatusUnauthorized}
// ErrBadGateway 错误网关错误。
ErrBadGateway = HTTPError{Message: "Bad Gateway", StatusCode: fasthttp.StatusBadGateway}
// ErrGatewayTimeout 网关超时错误。
ErrGatewayTimeout = HTTPError{Message: "Gateway Timeout", StatusCode: fasthttp.StatusGatewayTimeout}
// ErrInternalError 内部服务器错误。
ErrInternalError = HTTPError{Message: "Internal Server Error", StatusCode: fasthttp.StatusInternalServerError}
// ErrTooManyRequests 请求过多错误。
ErrTooManyRequests = HTTPError{Message: "Too Many Requests", StatusCode: fasthttp.StatusTooManyRequests}
// ErrServiceUnavailable 服务不可用错误。
ErrServiceUnavailable = HTTPError{Message: "Service Unavailable", StatusCode: fasthttp.StatusServiceUnavailable}
)
// SendError sends an HTTP error response to the client.

View File

@ -16,28 +16,49 @@ import (
// 内置变量常量
const (
// VarHost 请求主机名变量。 = "host"
// VarRemoteAddr 客户端地址变量。 = "remote_addr"
// VarRemotePort 客户端端口变量。 = "remote_port"
// VarRequestURI 请求 URI 变量。 = "request_uri"
// VarURI URI 变量。 = "uri"
// VarArgs 查询参数变量。 = "args"
// VarRequestMethod 请求方法变量。 = "request_method"
// VarScheme 协议方案变量。 = "scheme"
// VarServerName 服务器名称变量。 = "server_name"
// VarServerPort 服务器端口变量。 = "server_port"
// VarStatus HTTP 状态码变量。 = "status"
// VarBodyBytesSent 发送字节数变量。 = "body_bytes_sent"
// VarRequestTime 请求处理时间变量。 = "request_time"
// VarTimeLocal 本地时间变量。 = "time_local"
// VarTimeISO8601 ISO8601 时间变量。 = "time_iso8601"
// VarRequestID 请求 ID 变量。 = "request_id"
// VarHost 请求主机名变量。
VarHost = "host"
// VarRemoteAddr 客户端地址变量。
VarRemoteAddr = "remote_addr"
// VarRemotePort 客户端端口变量。
VarRemotePort = "remote_port"
// VarRequestURI 请求 URI 变量。
VarRequestURI = "request_uri"
// VarURI URI 变量。
VarURI = "uri"
// VarArgs 查询参数变量。
VarArgs = "args"
// VarRequestMethod 请求方法变量。
VarRequestMethod = "request_method"
// VarScheme 协议方案变量。
VarScheme = "scheme"
// VarServerName 服务器名称变量。
VarServerName = "server_name"
// VarServerPort 服务器端口变量。
VarServerPort = "server_port"
// VarStatus HTTP 状态码变量。
VarStatus = "status"
// VarBodyBytesSent 发送字节数变量。
VarBodyBytesSent = "body_bytes_sent"
// VarRequestTime 请求处理时间变量。
VarRequestTime = "request_time"
// VarTimeLocal 本地时间变量。
VarTimeLocal = "time_local"
// VarTimeISO8601 ISO8601 时间变量。
VarTimeISO8601 = "time_iso8601"
// VarRequestID 请求 ID 变量。
VarRequestID = "request_id"
// 上游变量
// VarUpstreamAddr 上游地址变量。 = "upstream_addr"
// VarUpstreamStatus 上游状态码变量。 = "upstream_status"
// VarUpstreamResponseTime 上游响应时间变量。 = "upstream_response_time"
// VarUpstreamConnectTime 上游连接时间变量。 = "upstream_connect_time"
// VarUpstreamHeaderTime 上游响应头时间变量。 = "upstream_header_time"
// VarUpstreamAddr 上游地址变量。
VarUpstreamAddr = "upstream_addr"
// VarUpstreamStatus 上游状态码变量。
VarUpstreamStatus = "upstream_status"
// VarUpstreamResponseTime 上游响应时间变量。
VarUpstreamResponseTime = "upstream_response_time"
// VarUpstreamConnectTime 上游连接时间变量。
VarUpstreamConnectTime = "upstream_connect_time"
// VarUpstreamHeaderTime 上游响应头时间变量。
VarUpstreamHeaderTime = "upstream_header_time"
)
// init 注册所有内置变量

View File

@ -23,21 +23,21 @@ import (
const (
// VarSSLClientVerify SSL 客户端证书验证结果变量。
VarSSLClientVerify = "ssl_client_verify"
// VarSSLClientSerial SSL 客户端证书序列号变量。
// VarSSLClientSerial SSL 客户端证书序列号变量。
VarSSLClientSerial = "ssl_client_serial"
// VarSSLClientSubject SSL 客户端证书主题变量。
// VarSSLClientSubject SSL 客户端证书主题变量。
VarSSLClientSubject = "ssl_client_subject"
// VarSSLClientIssuer SSL 客户端证书颁发者变量。
// VarSSLClientIssuer SSL 客户端证书颁发者变量。
VarSSLClientIssuer = "ssl_client_issuer"
// VarSSLClientFingerprint SSL 客户端证书指纹变量。
// VarSSLClientFingerprint SSL 客户端证书指纹变量。
VarSSLClientFingerprint = "ssl_client_fingerprint"
// VarSSLClientNotBefore SSL 客户端证书生效时间变量。
// VarSSLClientNotBefore SSL 客户端证书生效时间变量。
VarSSLClientNotBefore = "ssl_client_notbefore"
// VarSSLClientNotAfter SSL 客户端证书过期时间变量。
// VarSSLClientNotAfter SSL 客户端证书过期时间变量。
VarSSLClientNotAfter = "ssl_client_notafter"
// VarSSLClientDNS SSL 客户端证书主题 DN 变量。
// VarSSLClientDNS SSL 客户端证书主题 DN 变量。
VarSSLClientDNS = "ssl_client_s_dn"
// VarSSLClientEmail SSL 客户端证书邮箱变量。
// VarSSLClientEmail SSL 客户端证书邮箱变量。
VarSSLClientEmail = "ssl_client_email"
sslProtocolNone = "NONE"