mimetype

package
v0.31.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 15, 2019 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package mimetype 提供了对编码的支持。

Index

Constants

View Source
const DefaultMimetype = "application/octet-stream"

DefaultMimetype 默认的媒体类型,在不能获取输入和输出的媒体类型时, 会采用此值作为其默认值。

若编码函数中指定该类型的函数,则会使用该编码优先匹配 */* 等格式的请求。

Variables

View Source
var ErrNotFound = errors.New("未找到指定名称的 mimetype")

ErrNotFound 表示指定名称的 mimetype 解析函数未找到

View Source
var Nil *struct{}

Nil 表示向客户端输出 nil 值。

这是一个只有类型但是值为空的变量。在某些特殊情况下, 如果需要向客户端输出一个 nil 值的内容,可以使用此值。

Functions

This section is empty.

Types

type MarshalFunc

type MarshalFunc func(v interface{}) ([]byte, error)

MarshalFunc 将一个对象转换成 []byte 内容时,所采用的接口。

type Mimetypes

type Mimetypes struct {
	// contains filtered or unexported fields
}

Mimetypes 管理 mimetype 的处理函数

func New

func New() *Mimetypes

New 声明新的 Mimetypes 实例

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

func (*Mimetypes) Unmarshal

func (m *Mimetypes) Unmarshal(name string) (UnmarshalFunc, error)

Unmarshal 查找指定名称的 UnmarshalFunc

type UnmarshalFunc

type UnmarshalFunc func([]byte, interface{}) error

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 的支持

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL