mimetypes

package
v0.79.4 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package mimetypes 管理与 Mimetype 相关的数据

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Mimetype

type Mimetype[M any, U any] struct {
	Name      string
	Problem   string
	Marshal   M
	Unmarshal U
}

type Mimetypes

type Mimetypes[M any, U any] struct {
	// contains filtered or unexported fields
}

Mimetypes 提供对 mimetype 的管理

M 表示解码方法地的类型; U 表示编码方法的类型;

func New

func New[M any, U any](cap int) *Mimetypes[M, U]

func (*Mimetypes[M, U]) Accept added in v0.70.0

func (ms *Mimetypes[M, U]) Accept(h string) *Mimetype[M, U]

Accept 从当前请求的 accept 报头解析出所需要的解码函数

*/* 或是空值 表示匹配任意内容,一般会选择第一个元素作匹配; xx/* 表示匹配以 xx/ 开头的任意元素,一般会选择 xx/* 开头的第一个元素; xx/ 表示完全匹配以 xx/ 的内容 如果传递的内容如下:

application/json;q=0.9,*/*;q=1

则因为 */* 的 q 值比较高,而返回 */* 匹配的内容

func (*Mimetypes[M, U]) Add

func (ms *Mimetypes[M, U]) Add(name string, m M, u U, problem string)

Add 添加新的编码方法

name 为编码名称; problem 为该编码在返回 [server.Problem] 对象时的 mimetype 报头值,如果为空,则会与 name 值相同;

func (*Mimetypes[M, U]) ContentType

func (ms *Mimetypes[M, U]) ContentType(h string) (U, encoding.Encoding, error)

ContentType 从请求端提交的 content-type 报头中获取解码和字符集函数

h 表示 content-type 报头的内容。如果字符集为 utf-8 或是未指定,返回的字符解码为 nil;

Jump to

Keyboard shortcuts

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