Documentation
¶
Overview ¶
Package server 服务端实现
Index ¶
Constants ¶
View Source
const DefaultConfigDir = "@.config"
DefaultConfigDir 默认的配置目录地址
View Source
const RequestIDKey = header.RequestIDKey
RequestIDKey 报头中传递 request id 的报头名称
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Compression ¶ added in v0.86.0
type Compression struct {
// Compressor 压缩算法
Compressor web.Compressor
// Types 该压缩对象允许使用的为 content-type 类型
//
// 如果是 * 或是空值表示适用所有类型。
Types []string
}
Compression 有关压缩的设置项
func BestCompressionCompressions ¶ added in v0.86.0
func BestCompressionCompressions(contentType ...string) []*Compression
BestCompressionCompressions 提供当前框架内置的所有压缩算法
如果有性能参数,则选择最快压缩比作为初始化条件。
func BestSpeedCompressions ¶ added in v0.86.0
func BestSpeedCompressions(contentType ...string) []*Compression
BestSpeedCompressions 提供当前框架内置的所有压缩算法
如果有性能参数,则选择最快速度作为初始化条件。
func DefaultCompressions ¶ added in v0.86.0
func DefaultCompressions(contentType ...string) []*Compression
DefaultCompressions 提供当前框架内置的所有压缩算法
contentType 指定所有算法应用的媒体类型,为空则表示对所有的内容都进行压缩。
type Config ¶ added in v0.75.0
type Config struct {
// Dir 项目配置目录
//
// 如果涉及到需要读取配置文件的,可以指定此对象,之后可通过此对象统一处理各类配置文件。
// 如果为空,则会采用 [DefaultConfigDir]。
Dir string
// Serializers 支持的序列化方法列表
//
// 如果为空,则会默认支持 yaml、json 两种方式;
Serializers []*FileSerializer
}
Config 项目配置文件的配置
type FileSerializer ¶ added in v0.86.0
type FileSerializer struct {
// Exts 支持的扩展名
Exts []string
// Marshal 序列化方法
Marshal config.MarshalFunc
// Unmarshal 反序列化方法
Unmarshal config.UnmarshalFunc
}
FileSerializer 对于文件序列化的配置
type Mimetype ¶ added in v0.70.0
type Mimetype struct {
// Mimetype 的名称
//
// 比如:application/json
Name string
// 对应的错误状态下的 mimetype 值
//
// 比如:application/problem+json。
// 可以为空,表示与 Type 相同。
Problem string
// 生成编码方法
Marshal web.MarshalFunc
// 解码方法
Unmarshal web.UnmarshalFunc
}
Mimetype 有关 mimetype 的设置项
func APIMimetypes ¶ added in v0.86.0
func APIMimetypes() []*Mimetype
APIMimetypes 返回以 XML 和 JSON 作为数据交换格式的配置项
func JSONMimetypes ¶ added in v0.86.0
func JSONMimetypes() []*Mimetype
JSONMimetypes 返回以 JSON 作为数据交换格式的配置项
func XMLMimetypes ¶ added in v0.86.0
func XMLMimetypes() []*Mimetype
XMLMimetypes 返回以 XML 作为数据交换格式的配置项
type Options ¶
type Options struct {
// 项目的配置项
Config *Config
// 服务器的时区
//
// 默认值为 [time.Local]
Location *time.Location
// 缓存系统
//
// 内置的几种驱动实现位于 [github.com/issue9/web/cache/caches] 之下。
// 如果为空,采用 [caches.NewMemory] 作为默认值。
Cache cache.Driver
// 日志的相关设置
//
// 如果此值为空,表示不会输出任何信息。
Logs *logs.Options
// http.Server 实例的值
//
// 可以为零值。
HTTPServer *http.Server
// 生成唯一字符串的方法
//
// 供 [Server.UniqueID] 使用。
//
// 如果为空,将采用 [unique.NewDate] 作为生成方法。
IDGenerator IDGenerator
// 路由选项
RoutersOptions []web.RouterOption
// 指定获取 x-request-id 内容的报头名
//
// 如果为空,则采用 [RequestIDKey] 作为默认值
RequestIDKey string
// 可用的压缩类型
//
// 默认为空。表示不需要该功能。
Compressions []*Compression
// 指定可用的 mimetype
//
// 默认采用 [JSONMimetypes]。
Mimetypes []*Mimetype
// 默认的语言标签
//
// 在用户请求的报头中没有匹配的语言标签时,会采用此值作为该用户的本地化语言,
// 同时也用来初始化 [Server.Locale.Printer]。
//
// 框架中的日志输出时,如果该信息实现了 [LocaleStringer] 接口,
// 将会转换成此设置项的语言。
//
// 如果为空,则会尝试读取当前系统的本地化信息。
Language language.Tag
// 本地化的数据
//
// 如果为空,则会被初始化成一个空对象。
// Catalog 中会强行插入一条 tag 与 [Options.Language] 相同的翻译项,
// 以保证能正确构建 [web.Server.Printer] 对象。
Catalog *catalog.Builder
// ProblemTypePrefix 所有 type 字段的前缀
//
// 如果该值为 [ProblemAboutBlank],将不输出 ID 值;其它值则作为前缀添加。
ProblemTypePrefix string
// Init 其它的一些初始化操作
//
// 在此可以在用户能实际操作 [Server] 之前对 Server 进行一些操作。
Init []func(web.Server)
// contains filtered or unexported fields
}
Options web.Server 的初始化参数
这些参数都有默认值,且无法在 web.Server 初始化之后进行更改。
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package servertest 为 [web.Server] 提供一些简便的测试方
|
Package servertest 为 [web.Server] 提供一些简便的测试方 |
Click to show internal directories.
Click to hide internal directories.