Documentation ¶
Overview ¶
Package mimetype 提供了对编码的支持。
Index ¶
- Constants
- Variables
- type MarshalFunc
- type Mimetypes
- func (m *Mimetypes) AddMarshal(name string, mf MarshalFunc) error
- func (m *Mimetypes) AddMarshals(ms map[string]MarshalFunc) error
- func (m *Mimetypes) AddUnmarshal(name string, mm UnmarshalFunc) error
- func (m *Mimetypes) AddUnmarshals(ms map[string]UnmarshalFunc) error
- func (m *Mimetypes) Marshal(header string) (string, MarshalFunc, error)
- func (m *Mimetypes) Unmarshal(name string) (UnmarshalFunc, error)
- type UnmarshalFunc
Constants ¶
const DefaultMimetype = "application/octet-stream"
DefaultMimetype 默认的媒体类型,在不能获取输入和输出的媒体类型时, 会采用此值作为其默认值。
若编码函数中指定该类型的函数,则会使用该编码优先匹配 */* 等格式的请求。
Variables ¶
var ErrNotFound = errors.New("未找到指定名称的 mimetype")
ErrNotFound 表示指定名称的 mimetype 解析函数未找到
var Nil *struct{}
Nil 表示向客户端输出 nil 值。
这是一个只有类型但是值为空的变量。在某些特殊情况下, 如果需要向客户端输出一个 nil 值的内容,可以使用此值。
Functions ¶
This section is empty.
Types ¶
type MarshalFunc ¶
MarshalFunc 将一个对象转换成 []byte 内容时,所采用的接口。
type Mimetypes ¶
type Mimetypes struct {
// contains filtered or unexported fields
}
Mimetypes 管理 mimetype 的处理函数
func (*Mimetypes) AddMarshal ¶
func (m *Mimetypes) AddMarshal(name string, mf MarshalFunc) error
AddMarshal 添加编码函数
mf 可以为 nil,表示仅作为一个占位符使用,具体处理要在 ServeHTTP 另作处理,比如下载,上传等内容。
func (*Mimetypes) AddMarshals ¶
func (m *Mimetypes) AddMarshals(ms map[string]MarshalFunc) error
AddMarshals 添加多个编码函数
func (*Mimetypes) AddUnmarshal ¶
func (m *Mimetypes) AddUnmarshal(name string, mm UnmarshalFunc) error
AddUnmarshal 添加编码函数
mm 可以为 nil,表示仅作为一个占位符使用,具体处理要在 ServeHTTP 另作处理,比如下载,上传等内容。
func (*Mimetypes) AddUnmarshals ¶
func (m *Mimetypes) AddUnmarshals(ms map[string]UnmarshalFunc) error
AddUnmarshals 添加多个编码函数
func (*Mimetypes) Marshal ¶
func (m *Mimetypes) Marshal(header string) (string, MarshalFunc, error)
Marshal 从 header 解析出当前请求所需要的解 mimetype 名称和对应的解码函数
*/* 或是空值 表示匹配任意内容,一般会选择第一个元素作匹配; xx/* 表示匹配以 xx/ 开头的任意元素,一般会选择 xx/* 开头的第一个元素; xx/ 表示完全匹配以 xx/ 的内容 如果传递的内容如下:
application/json;q=0.9,*/*;q=1
则因为 */* 的 q 值比较高,而返回 */* 匹配的内容
在不完全匹配的情况下,返回值的名称依然是具体名称。
text/*;q=0.9
返回的名称可能是:
text/plain
type UnmarshalFunc ¶
UnmarshalFunc 将客户端内容转换成一个对象时,所采用的接口。
Directories ¶
Path | Synopsis |
---|---|
Package form 用于处理 www-form-urlencoded 编码 func read(w http.ResponseWriter, r *http.Request) { ctx := web.New(w, r) vals := urls.Values{} !ctx.Read(vals) } func write(w http.ResponseWriter, r *http.Request) { ctx := web.New(w, r) vals := urls.Values{} vals.Add("name", "caixw") ctx.Render(http.StatusOK, vals, nil) }
|
Package form 用于处理 www-form-urlencoded 编码 func read(w http.ResponseWriter, r *http.Request) { ctx := web.New(w, r) vals := urls.Values{} !ctx.Read(vals) } func write(w http.ResponseWriter, r *http.Request) { ctx := web.New(w, r) vals := urls.Values{} vals.Add("name", "caixw") ctx.Render(http.StatusOK, vals, nil) } |
Package gob 提供 GOB 格式的编解码
|
Package gob 提供 GOB 格式的编解码 |
Package html 提供输出 HTML 内容的 mimetype.MarshalFunc 函数。
|
Package html 提供输出 HTML 内容的 mimetype.MarshalFunc 函数。 |
Package mimetypetest 针对文本内容的编解码实现,仅作为测试用例。
|
Package mimetypetest 针对文本内容的编解码实现,仅作为测试用例。 |
Package protobuf 提供对 Google protocol buffers 的支持
|
Package protobuf 提供对 Google protocol buffers 的支持 |