mimeparse

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2018 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BestMatch

func BestMatch(supported []string, header string) string

Takes a list of supported mime-types and finds the best match for all the media-ranges listed in header. The value of header must be a string that conforms to the format of the HTTP Accept: header. The value of 'supported' is a list of mime-types.

BestMatch(['application/xbel+xml', 'text/xml'], 'text/*;q=0.5,* /*; q=0.1') 'text/xml'

func FitnessAndQuality

func FitnessAndQuality(mimetype string, parsedRanges []Mime) (fitness int, quality float64)

Find the best match for a given mime-type against a list of media_ranges that have already been parsed by ParseMediaRange(). Returns a tuple of the fitness value and the value of the 'q' quality parameter of the best match, or (-1, 0) if no match was found. Just as for QualityParsed(), 'parsedranges' must be a list of parsed media ranges.

func Quality

func Quality(mimetype string, ranges string) (quality float64)

Returns the quality 'q' of a mime-type when compared against the media-ranges in ranges. For example:

Quality('text/html','text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, * / *;q=0.5') 0.7

func QualityParsed

func QualityParsed(mimetype string, parsedRanges []Mime) (quality float64)

Find the best match for a given mime-type against a list of media_ranges that have already been parsed by ParseMediaRange(). Returns the 'q' quality parameter of the best match, 0 if no match was found. This function bahaves the same as quality() except that 'parsed_ranges' must be a list of parsed media ranges.

Types

type Mime

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

func ParseHeader

func ParseHeader(header string) (parsed []Mime)

func ParseMediaRange

func ParseMediaRange(mediarange string) (mime Mime, err error)

Carves up a media range and returns a tuple of the (type, subtype, params) where 'params' is a dictionary of all the parameters for the media range. For example, the media range 'application/*;q=0.5' would get parsed into:

('application', '*', {'q', '0.5'})

In addition this function also guarantees that there is a value for 'q' in the params dictionary, filling it in with a proper default if necessary.

func ParseMimeType

func ParseMimeType(mimetype string) (parsed Mime, err error)

Carves up a mime-type and returns a struct of the (type, subtype, params) where 'params' is a dictionary of all the parameters for the media range. For example, the media range 'application/xhtml;q=0.5' would get parsed into:

Mime {'application', 'xhtml', {'q', '0.5'}}, nil

Jump to

Keyboard shortcuts

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