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:
parent
fc1de2d445
commit
a136b07bb9
@ -23,9 +23,6 @@
|
|||||||
// - Number precision control
|
// - Number precision control
|
||||||
// - Independent configuration instances via gjson.new()
|
// - Independent configuration instances via gjson.new()
|
||||||
//
|
//
|
||||||
// Author: xfy
|
|
||||||
// Package gjson 提供 Go 模块信息。
|
|
||||||
//
|
|
||||||
// 作者:xfy
|
// 作者:xfy
|
||||||
package gjson
|
package gjson
|
||||||
|
|
||||||
@ -34,11 +31,11 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// ModuleName is the Lua module name for require()
|
// ModuleName 模块名称。
|
||||||
// ModuleName 模块名称。 = "gjson"
|
ModuleName = "gjson"
|
||||||
|
|
||||||
// Version is the module version
|
// Version 模块版本号。
|
||||||
// Version 模块版本号。 = "1.0.0"
|
Version = "1.0.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Preload registers the gjson module as a preload in the given LState.
|
// Preload registers the gjson module as a preload in the given LState.
|
||||||
|
|||||||
@ -1,4 +1,8 @@
|
|||||||
// Package tools 提供基准测试和集成测试的辅助工具。
|
// Package tools 提供基准测试和集成测试的辅助工具。
|
||||||
|
//
|
||||||
|
// 包含 Mock 后端创建、测试数据生成等工具函数。
|
||||||
|
//
|
||||||
|
// 作者:xfy
|
||||||
package tools
|
package tools
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -10,14 +14,19 @@ import (
|
|||||||
|
|
||||||
// 预定义的测试数据大小常量
|
// 预定义的测试数据大小常量
|
||||||
const (
|
const (
|
||||||
|
// Size100B 100 字节测试数据。
|
||||||
Size100B = 100
|
Size100B = 100
|
||||||
|
// Size1KB 1KB 测试数据。
|
||||||
Size1KB = 1024
|
Size1KB = 1024
|
||||||
|
// Size10KB 10KB 测试数据。
|
||||||
Size10KB = 10 * 1024
|
Size10KB = 10 * 1024
|
||||||
|
// Size100KB 100KB 测试数据。
|
||||||
Size100KB = 100 * 1024
|
Size100KB = 100 * 1024
|
||||||
|
// Size1MB 1MB 测试数据。
|
||||||
Size1MB = 1024 * 1024
|
Size1MB = 1024 * 1024
|
||||||
)
|
)
|
||||||
|
|
||||||
// MockBackendConfig Mock 后端配置
|
// MockBackendConfig Mock 后端配置。
|
||||||
type MockBackendConfig struct {
|
type MockBackendConfig struct {
|
||||||
// Mode 运行模式
|
// Mode 运行模式
|
||||||
Mode string
|
Mode string
|
||||||
@ -33,9 +42,13 @@ type MockBackendConfig struct {
|
|||||||
|
|
||||||
// Mock 后端运行模式
|
// Mock 后端运行模式
|
||||||
const (
|
const (
|
||||||
|
// ModeNormalResponse 正常响应模式。
|
||||||
ModeNormalResponse = "normal"
|
ModeNormalResponse = "normal"
|
||||||
|
// ModeRandomResponse 随机响应模式。
|
||||||
ModeRandomResponse = "random"
|
ModeRandomResponse = "random"
|
||||||
|
// ModeErrorResponse 错误响应模式。
|
||||||
ModeErrorResponse = "error"
|
ModeErrorResponse = "error"
|
||||||
|
// ModeDelayedResponse 延迟响应模式。
|
||||||
ModeDelayedResponse = "delayed"
|
ModeDelayedResponse = "delayed"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -26,52 +26,94 @@ import (
|
|||||||
|
|
||||||
// 日志级别常量(与 OpenResty/ngx_lua 兼容)
|
// 日志级别常量(与 OpenResty/ngx_lua 兼容)
|
||||||
const (
|
const (
|
||||||
// LogStderr 标准错误日志级别。 = 0
|
// LogStderr 标准错误日志级别。
|
||||||
// LogEmerg 紧急日志级别。 = 1
|
LogStderr = 0
|
||||||
// LogAlert 警报日志级别。 = 2
|
// LogEmerg 紧急日志级别。
|
||||||
// LogCrit 严重日志级别。 = 3
|
LogEmerg = 1
|
||||||
// LogErr 错误日志级别。 = 4
|
// LogAlert 警报日志级别。
|
||||||
// LogWarn 警告日志级别。 = 5
|
LogAlert = 2
|
||||||
// LogNotice 通知日志级别。 = 6
|
// LogCrit 严重日志级别。
|
||||||
// LogInfo 信息日志级别。 = 7
|
LogCrit = 3
|
||||||
// LogDebug 调试日志级别。 = 8
|
// LogErr 错误日志级别。
|
||||||
|
LogErr = 4
|
||||||
|
// LogWarn 警告日志级别。
|
||||||
|
LogWarn = 5
|
||||||
|
// LogNotice 通知日志级别。
|
||||||
|
LogNotice = 6
|
||||||
|
// LogInfo 信息日志级别。
|
||||||
|
LogInfo = 7
|
||||||
|
// LogDebug 调试日志级别。
|
||||||
|
LogDebug = 8
|
||||||
)
|
)
|
||||||
|
|
||||||
// HTTP 状态码常量
|
// HTTP 状态码常量
|
||||||
const (
|
const (
|
||||||
// HTTPContinue HTTP 100 继续状态码。 = 100
|
// HTTPContinue HTTP 100 继续状态码。
|
||||||
// HTTPSwitchingProtocols HTTP 101 切换协议状态码。 = 101
|
HTTPContinue = 100
|
||||||
// HTTPOK HTTP 200 成功状态码。 = 200
|
// HTTPSwitchingProtocols HTTP 101 切换协议状态码。
|
||||||
// HTTPCreated HTTP 201 已创建状态码。 = 201
|
HTTPSwitchingProtocols = 101
|
||||||
// HTTPAccepted HTTP 202 已接受状态码。 = 202
|
// HTTPOK HTTP 200 成功状态码。
|
||||||
// HTTPNoContent HTTP 204 无内容状态码。 = 204
|
HTTPOK = 200
|
||||||
// HTTPPartialContent HTTP 206 部分内容状态码。 = 206
|
// HTTPCreated HTTP 201 已创建状态码。
|
||||||
// HTTPMovedPermanently HTTP 301 永久重定向状态码。 = 301
|
HTTPCreated = 201
|
||||||
// HTTPFound HTTP 302 找到状态码。 = 302
|
// HTTPAccepted HTTP 202 已接受状态码。
|
||||||
// HTTPSeeOther HTTP 303 查看其他状态码。 = 303
|
HTTPAccepted = 202
|
||||||
// HTTPNotModified HTTP 304 未修改状态码。 = 304
|
// HTTPNoContent HTTP 204 无内容状态码。
|
||||||
// HTTPTemporaryRedirect HTTP 307 临时重定向状态码。 = 307
|
HTTPNoContent = 204
|
||||||
// HTTPPermanentRedirect HTTP 308 永久重定向状态码。 = 308
|
// HTTPPartialContent HTTP 206 部分内容状态码。
|
||||||
// HTTPBadRequest HTTP 400 错误请求状态码。 = 400
|
HTTPPartialContent = 206
|
||||||
// HTTPUnauthorized HTTP 401 未授权状态码。 = 401
|
// HTTPMovedPermanently HTTP 301 永久重定向状态码。
|
||||||
// HTTPForbidden HTTP 403 禁止访问状态码。 = 403
|
HTTPMovedPermanently = 301
|
||||||
// HTTPNotFound HTTP 404 未找到状态码。 = 404
|
// HTTPFound HTTP 302 找到状态码。
|
||||||
// HTTPMethodNotAllowed HTTP 405 方法不允许状态码。 = 405
|
HTTPFound = 302
|
||||||
// HTTPRequestTimeout HTTP 408 请求超时状态码。 = 408
|
// HTTPSeeOther HTTP 303 查看其他状态码。
|
||||||
// HTTPConflict HTTP 409 冲突状态码。 = 409
|
HTTPSeeOther = 303
|
||||||
// HTTPGone HTTP 410 已移除状态码。 = 410
|
// HTTPNotModified HTTP 304 未修改状态码。
|
||||||
// HTTPLengthRequired HTTP 411 需要长度状态码。 = 411
|
HTTPNotModified = 304
|
||||||
// HTTPPayloadTooLarge HTTP 413 请求实体过大状态码。 = 413
|
// HTTPTemporaryRedirect HTTP 307 临时重定向状态码。
|
||||||
// HTTPURITooLong HTTP 414 URI 过长状态码。 = 414
|
HTTPTemporaryRedirect = 307
|
||||||
// HTTPUnsupportedMedia HTTP 415 不支持的媒体类型状态码。 = 415
|
// HTTPPermanentRedirect HTTP 308 永久重定向状态码。
|
||||||
// HTTPRangeNotSatisfiable HTTP 416 范围不可满足状态码。 = 416
|
HTTPPermanentRedirect = 308
|
||||||
// HTTPTooManyRequests HTTP 429 请求过多状态码。 = 429
|
// HTTPBadRequest HTTP 400 错误请求状态码。
|
||||||
// HTTPInternalServerError HTTP 500 内部服务器错误状态码。 = 500
|
HTTPBadRequest = 400
|
||||||
// HTTPNotImplemented HTTP 501 未实现状态码。 = 501
|
// HTTPUnauthorized HTTP 401 未授权状态码。
|
||||||
// HTTPBadGateway HTTP 502 错误网关状态码。 = 502
|
HTTPUnauthorized = 401
|
||||||
// HTTPServiceUnavailable HTTP 503 服务不可用状态码。 = 503
|
// HTTPForbidden HTTP 403 禁止访问状态码。
|
||||||
// HTTPGatewayTimeout HTTP 504 网关超时状态码。 = 504
|
HTTPForbidden = 403
|
||||||
// HTTPHTTPVersionNotSupported HTTP 505 HTTP 版本不支持状态码。 = 505
|
// 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。
|
// ngxLogAPI 封装 ngx.log 和输出控制相关的 API。
|
||||||
|
|||||||
@ -26,15 +26,15 @@ import "github.com/valyala/fasthttp"
|
|||||||
const (
|
const (
|
||||||
// LocationTypeExact 精确匹配类型(=)。
|
// LocationTypeExact 精确匹配类型(=)。
|
||||||
LocationTypeExact = "exact"
|
LocationTypeExact = "exact"
|
||||||
// LocationTypePrefix 前缀匹配类型。
|
// LocationTypePrefix 前缀匹配类型。
|
||||||
LocationTypePrefix = "prefix"
|
LocationTypePrefix = "prefix"
|
||||||
// LocationTypePrefixPriority 前缀优先匹配类型(^~)。
|
// LocationTypePrefixPriority 前缀优先匹配类型(^~)。
|
||||||
LocationTypePrefixPriority = "prefix_priority"
|
LocationTypePrefixPriority = "prefix_priority"
|
||||||
// LocationTypeRegex 正则匹配类型(~)。
|
// LocationTypeRegex 正则匹配类型(~)。
|
||||||
LocationTypeRegex = "regex"
|
LocationTypeRegex = "regex"
|
||||||
// LocationTypeRegexCaseless 大小写不敏感正则匹配类型(~*)。
|
// LocationTypeRegexCaseless 大小写不敏感正则匹配类型(~*)。
|
||||||
LocationTypeRegexCaseless = "regex_caseless"
|
LocationTypeRegexCaseless = "regex_caseless"
|
||||||
// LocationTypeNamed 命名匹配类型(@name)。
|
// LocationTypeNamed 命名匹配类型(@name)。
|
||||||
LocationTypeNamed = "named"
|
LocationTypeNamed = "named"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -98,7 +98,7 @@ type Algorithm int
|
|||||||
const (
|
const (
|
||||||
// AlgorithmGzip 使用 gzip 压缩算法。
|
// AlgorithmGzip 使用 gzip 压缩算法。
|
||||||
AlgorithmGzip Algorithm = iota
|
AlgorithmGzip Algorithm = iota
|
||||||
// AlgorithmBrotli 使用 brotli 压缩算法。
|
// AlgorithmBrotli 使用 brotli 压缩算法。
|
||||||
AlgorithmBrotli
|
AlgorithmBrotli
|
||||||
|
|
||||||
compressionGZIP = "gzip"
|
compressionGZIP = "gzip"
|
||||||
|
|||||||
@ -11,11 +11,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// LargeFileStrategySkip 跳过大文件限速
|
// LargeFileStrategySkip 大文件策略:跳过(不限制)。
|
||||||
// LargeFileStrategySkip 大文件策略:跳过(不限制)。
|
|
||||||
LargeFileStrategySkip = "skip"
|
LargeFileStrategySkip = "skip"
|
||||||
// LargeFileStrategyCoarse 粗粒度限速
|
// LargeFileStrategyCoarse 大文件策略:粗略限制。
|
||||||
// LargeFileStrategyCoarse 大文件策略:粗略限制。
|
|
||||||
LargeFileStrategyCoarse = "coarse"
|
LargeFileStrategyCoarse = "coarse"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -29,7 +29,7 @@ import (
|
|||||||
"rua.plus/lolly/internal/variable"
|
"rua.plus/lolly/internal/variable"
|
||||||
)
|
)
|
||||||
|
|
||||||
// MaxRewriteIterations URL重写最大迭代次数,防止无限循环
|
// MaxRewriteIterations URL重写最大迭代次数,防止无限循环。
|
||||||
const MaxRewriteIterations = 10
|
const MaxRewriteIterations = 10
|
||||||
|
|
||||||
// Flag 重写标志类型。
|
// Flag 重写标志类型。
|
||||||
@ -39,13 +39,13 @@ const (
|
|||||||
// FlagLast 继续匹配其他规则(nginx 行为:重新从第一条规则开始匹配)。
|
// FlagLast 继续匹配其他规则(nginx 行为:重新从第一条规则开始匹配)。
|
||||||
// 匹配到规则后会重新从第一条规则开始遍历,用于多规则链式重写。
|
// 匹配到规则后会重新从第一条规则开始遍历,用于多规则链式重写。
|
||||||
FlagLast Flag = iota
|
FlagLast Flag = iota
|
||||||
// FlagRedirect 返回 302 临时重定向。
|
// FlagRedirect 返回 302 临时重定向。
|
||||||
// 客户端收到 302 响应后重新请求新 URL,不会继续匹配后续规则。
|
// 客户端收到 302 响应后重新请求新 URL,不会继续匹配后续规则。
|
||||||
FlagRedirect
|
FlagRedirect
|
||||||
// FlagPermanent 返回 301 永久重定向。
|
// FlagPermanent 返回 301 永久重定向。
|
||||||
// 客户端收到 301 响应后永久重定向到新 URL,不会继续匹配后续规则。
|
// 客户端收到 301 响应后永久重定向到新 URL,不会继续匹配后续规则。
|
||||||
FlagPermanent
|
FlagPermanent
|
||||||
// FlagBreak 停止匹配规则。
|
// FlagBreak 停止匹配规则。
|
||||||
// 修改请求路径后终止重写流程,直接进入下一个处理器。
|
// 修改请求路径后终止重写流程,直接进入下一个处理器。
|
||||||
FlagBreak
|
FlagBreak
|
||||||
)
|
)
|
||||||
|
|||||||
@ -45,7 +45,7 @@ type Action int
|
|||||||
const (
|
const (
|
||||||
// ActionAllow 允许请求通过。
|
// ActionAllow 允许请求通过。
|
||||||
ActionAllow Action = iota
|
ActionAllow Action = iota
|
||||||
// ActionDeny 拒绝请求(返回 403 Forbidden)。
|
// ActionDeny 拒绝请求(返回 403 Forbidden)。
|
||||||
ActionDeny
|
ActionDeny
|
||||||
|
|
||||||
accessAllow = "allow"
|
accessAllow = "allow"
|
||||||
|
|||||||
@ -50,7 +50,7 @@ type HashAlgorithm int
|
|||||||
const (
|
const (
|
||||||
// HashBcrypt bcrypt 哈希算法(默认,推荐)。
|
// HashBcrypt bcrypt 哈希算法(默认,推荐)。
|
||||||
HashBcrypt HashAlgorithm = iota
|
HashBcrypt HashAlgorithm = iota
|
||||||
// HashArgon2id Argon2id 哈希算法(更安全,计算密集)。
|
// HashArgon2id Argon2id 哈希算法(更安全,计算密集)。
|
||||||
HashArgon2id
|
HashArgon2id
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -31,11 +31,11 @@ type ClientVerifyMode int
|
|||||||
const (
|
const (
|
||||||
// VerifyOff 不验证客户端证书。
|
// VerifyOff 不验证客户端证书。
|
||||||
VerifyOff ClientVerifyMode = iota
|
VerifyOff ClientVerifyMode = iota
|
||||||
// VerifyOn 强制验证客户端证书。
|
// VerifyOn 强制验证客户端证书。
|
||||||
VerifyOn
|
VerifyOn
|
||||||
// VerifyOptional 可选验证(客户端可选择不提供证书)。
|
// VerifyOptional 可选验证(客户端可选择不提供证书)。
|
||||||
VerifyOptional
|
VerifyOptional
|
||||||
// VerifyOptionalNoCA 可选验证但不验证 CA。
|
// VerifyOptionalNoCA 可选验证但不验证 CA。
|
||||||
VerifyOptionalNoCA
|
VerifyOptionalNoCA
|
||||||
|
|
||||||
// verifyModeOff 验证模式字符串常量
|
// verifyModeOff 验证模式字符串常量
|
||||||
|
|||||||
@ -23,14 +23,22 @@ type HTTPError struct {
|
|||||||
|
|
||||||
// Predefined common HTTP errors.
|
// Predefined common HTTP errors.
|
||||||
var (
|
var (
|
||||||
// ErrNotFound 资源未找到错误。 = HTTPError{Message: "Not Found", StatusCode: fasthttp.StatusNotFound}
|
// ErrNotFound 资源未找到错误。
|
||||||
// ErrForbidden 禁止访问错误。 = HTTPError{Message: "Forbidden", StatusCode: fasthttp.StatusForbidden}
|
ErrNotFound = HTTPError{Message: "Not Found", StatusCode: fasthttp.StatusNotFound}
|
||||||
// ErrUnauthorized 未授权错误。 = HTTPError{Message: "Unauthorized", StatusCode: fasthttp.StatusUnauthorized}
|
// ErrForbidden 禁止访问错误。
|
||||||
// ErrBadGateway 错误网关错误。 = HTTPError{Message: "Bad Gateway", StatusCode: fasthttp.StatusBadGateway}
|
ErrForbidden = HTTPError{Message: "Forbidden", StatusCode: fasthttp.StatusForbidden}
|
||||||
// ErrGatewayTimeout 网关超时错误。 = HTTPError{Message: "Gateway Timeout", StatusCode: fasthttp.StatusGatewayTimeout}
|
// ErrUnauthorized 未授权错误。
|
||||||
// ErrInternalError 内部服务器错误。 = HTTPError{Message: "Internal Server Error", StatusCode: fasthttp.StatusInternalServerError}
|
ErrUnauthorized = HTTPError{Message: "Unauthorized", StatusCode: fasthttp.StatusUnauthorized}
|
||||||
// ErrTooManyRequests 请求过多错误。 = HTTPError{Message: "Too Many Requests", StatusCode: fasthttp.StatusTooManyRequests}
|
// ErrBadGateway 错误网关错误。
|
||||||
// ErrServiceUnavailable 服务不可用错误。 = HTTPError{Message: "Service Unavailable", StatusCode: fasthttp.StatusServiceUnavailable}
|
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.
|
// SendError sends an HTTP error response to the client.
|
||||||
|
|||||||
@ -16,28 +16,49 @@ import (
|
|||||||
|
|
||||||
// 内置变量常量
|
// 内置变量常量
|
||||||
const (
|
const (
|
||||||
// VarHost 请求主机名变量。 = "host"
|
// VarHost 请求主机名变量。
|
||||||
// VarRemoteAddr 客户端地址变量。 = "remote_addr"
|
VarHost = "host"
|
||||||
// VarRemotePort 客户端端口变量。 = "remote_port"
|
// VarRemoteAddr 客户端地址变量。
|
||||||
// VarRequestURI 请求 URI 变量。 = "request_uri"
|
VarRemoteAddr = "remote_addr"
|
||||||
// VarURI URI 变量。 = "uri"
|
// VarRemotePort 客户端端口变量。
|
||||||
// VarArgs 查询参数变量。 = "args"
|
VarRemotePort = "remote_port"
|
||||||
// VarRequestMethod 请求方法变量。 = "request_method"
|
// VarRequestURI 请求 URI 变量。
|
||||||
// VarScheme 协议方案变量。 = "scheme"
|
VarRequestURI = "request_uri"
|
||||||
// VarServerName 服务器名称变量。 = "server_name"
|
// VarURI URI 变量。
|
||||||
// VarServerPort 服务器端口变量。 = "server_port"
|
VarURI = "uri"
|
||||||
// VarStatus HTTP 状态码变量。 = "status"
|
// VarArgs 查询参数变量。
|
||||||
// VarBodyBytesSent 发送字节数变量。 = "body_bytes_sent"
|
VarArgs = "args"
|
||||||
// VarRequestTime 请求处理时间变量。 = "request_time"
|
// VarRequestMethod 请求方法变量。
|
||||||
// VarTimeLocal 本地时间变量。 = "time_local"
|
VarRequestMethod = "request_method"
|
||||||
// VarTimeISO8601 ISO8601 时间变量。 = "time_iso8601"
|
// VarScheme 协议方案变量。
|
||||||
// VarRequestID 请求 ID 变量。 = "request_id"
|
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"
|
// VarUpstreamAddr 上游地址变量。
|
||||||
// VarUpstreamStatus 上游状态码变量。 = "upstream_status"
|
VarUpstreamAddr = "upstream_addr"
|
||||||
// VarUpstreamResponseTime 上游响应时间变量。 = "upstream_response_time"
|
// VarUpstreamStatus 上游状态码变量。
|
||||||
// VarUpstreamConnectTime 上游连接时间变量。 = "upstream_connect_time"
|
VarUpstreamStatus = "upstream_status"
|
||||||
// VarUpstreamHeaderTime 上游响应头时间变量。 = "upstream_header_time"
|
// VarUpstreamResponseTime 上游响应时间变量。
|
||||||
|
VarUpstreamResponseTime = "upstream_response_time"
|
||||||
|
// VarUpstreamConnectTime 上游连接时间变量。
|
||||||
|
VarUpstreamConnectTime = "upstream_connect_time"
|
||||||
|
// VarUpstreamHeaderTime 上游响应头时间变量。
|
||||||
|
VarUpstreamHeaderTime = "upstream_header_time"
|
||||||
)
|
)
|
||||||
|
|
||||||
// init 注册所有内置变量
|
// init 注册所有内置变量
|
||||||
|
|||||||
@ -23,21 +23,21 @@ import (
|
|||||||
const (
|
const (
|
||||||
// VarSSLClientVerify SSL 客户端证书验证结果变量。
|
// VarSSLClientVerify SSL 客户端证书验证结果变量。
|
||||||
VarSSLClientVerify = "ssl_client_verify"
|
VarSSLClientVerify = "ssl_client_verify"
|
||||||
// VarSSLClientSerial SSL 客户端证书序列号变量。
|
// VarSSLClientSerial SSL 客户端证书序列号变量。
|
||||||
VarSSLClientSerial = "ssl_client_serial"
|
VarSSLClientSerial = "ssl_client_serial"
|
||||||
// VarSSLClientSubject SSL 客户端证书主题变量。
|
// VarSSLClientSubject SSL 客户端证书主题变量。
|
||||||
VarSSLClientSubject = "ssl_client_subject"
|
VarSSLClientSubject = "ssl_client_subject"
|
||||||
// VarSSLClientIssuer SSL 客户端证书颁发者变量。
|
// VarSSLClientIssuer SSL 客户端证书颁发者变量。
|
||||||
VarSSLClientIssuer = "ssl_client_issuer"
|
VarSSLClientIssuer = "ssl_client_issuer"
|
||||||
// VarSSLClientFingerprint SSL 客户端证书指纹变量。
|
// VarSSLClientFingerprint SSL 客户端证书指纹变量。
|
||||||
VarSSLClientFingerprint = "ssl_client_fingerprint"
|
VarSSLClientFingerprint = "ssl_client_fingerprint"
|
||||||
// VarSSLClientNotBefore SSL 客户端证书生效时间变量。
|
// VarSSLClientNotBefore SSL 客户端证书生效时间变量。
|
||||||
VarSSLClientNotBefore = "ssl_client_notbefore"
|
VarSSLClientNotBefore = "ssl_client_notbefore"
|
||||||
// VarSSLClientNotAfter SSL 客户端证书过期时间变量。
|
// VarSSLClientNotAfter SSL 客户端证书过期时间变量。
|
||||||
VarSSLClientNotAfter = "ssl_client_notafter"
|
VarSSLClientNotAfter = "ssl_client_notafter"
|
||||||
// VarSSLClientDNS SSL 客户端证书主题 DN 变量。
|
// VarSSLClientDNS SSL 客户端证书主题 DN 变量。
|
||||||
VarSSLClientDNS = "ssl_client_s_dn"
|
VarSSLClientDNS = "ssl_client_s_dn"
|
||||||
// VarSSLClientEmail SSL 客户端证书邮箱变量。
|
// VarSSLClientEmail SSL 客户端证书邮箱变量。
|
||||||
VarSSLClientEmail = "ssl_client_email"
|
VarSSLClientEmail = "ssl_client_email"
|
||||||
|
|
||||||
sslProtocolNone = "NONE"
|
sslProtocolNone = "NONE"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user