mediatype

package
v0.0.0-...-4a740ba Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MimeMainTypeDomain      = "domain"
	MimeMainTypeApplication = "application"
	MimeMainTypeAudio       = "audio"
	MimeMainTypeFont        = "font"
	MimeMainTypeExample     = "example"
	MimeMainTypeImage       = "image"
	MimeMainTypeMessage     = "message"
	MimeMainTypeModel       = "model"
	MimeMainTypeMultipart   = "multipart"
	MimeMainTypeText        = "text"
	MimeMainTypeVideo       = "video"
)

The currently registered types

Variables

View Source
var (
	ABW = New("application/x-abiword").SetFileExtension("abw").
		SetDetail(protocol.LanguageEnglish, "AbiWord document", "", "", "", "", []string{})
	ARC = New("application/octet-stream").SetFileExtension("arc").
		SetDetail(protocol.LanguageEnglish, "Archive document (multiple files embedded)", "", "", "", "", []string{})

	BIN = New("application/octet-stream").SetFileExtension("bin").
		SetDetail(protocol.LanguageEnglish, "Any kind of binary data", "", "", "", "", []string{})
	BZ = New("application/x-bzip").SetFileExtension("bz").
		SetDetail(protocol.LanguageEnglish, "BZip archive", "", "", "", "", []string{})
	BZ2 = New("application/x-bzip2").SetFileExtension("bz2").
		SetDetail(protocol.LanguageEnglish, "BZip2 archive", "", "", "", "", []string{})

	CSH = New("application/x-csh").SetFileExtension("csh").
		SetDetail(protocol.LanguageEnglish, "C-Shell script", "", "", "", "", []string{})

	DOC = New("application/msword").SetFileExtension("doc").
		SetDetail(protocol.LanguageEnglish, "Microsoft Word", "", "", "", "", []string{})

	EPUB = New("application/epub+zip").SetFileExtension("epub").
			SetDetail(protocol.LanguageEnglish, "Electronic publication", "", "", "", "", []string{})

	GZ = New("application/gzip").SetFileExtension("gz").
		SetDetail(protocol.LanguageEnglish, "",
			"strictly speaking under MIME gzip would only be used as an encoding, not a content-type, but it's common to have .gz files",
			"",
			"",
			"",
			[]string{})

	HTTP = New("application/http").SetFileExtension("http").
			SetDetail(protocol.LanguageEnglish, "Hypertext Transfer Protocol",
			"An application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information",
			"",
			"",
			"",
			[]string{})
	HTTPRequest = New("application/http; request").SetFileExtension("reqhttp").
				SetDetail(protocol.LanguageEnglish, "Hypertext Transfer Protocol Request", "", "", "", "", []string{})
	HTTPResponse = New("application/http; response").SetFileExtension("reshttp").
					SetDetail(protocol.LanguageEnglish, "Hypertext Transfer Protocol Response", "", "", "", "", []string{})

	JAR = New("application/java-archive").SetFileExtension("jar").
		SetDetail(protocol.LanguageEnglish, "Java Archive", "", "", "", "", []string{})
	JavaScript = New("application/javascript").SetFileExtension("js").
				SetDetail(protocol.LanguageEnglish, "JavaScript (ECMAScript) programming language", "", "", "", "", []string{})
	JSON = New("application/json").SetFileExtension("json").
			SetDetail(protocol.LanguageEnglish, "JavaScript Object Notation format", "", "", "", "", []string{})

	OGX = New("application/ogg").SetFileExtension("ogx").
		SetDetail(protocol.LanguageEnglish, "OGG", "", "", "", "", []string{})

	PDF = New("application/pdf").SetFileExtension("pdf").
		SetDetail(protocol.LanguageEnglish, "Adobe Portable Document Format", "", "", "", "", []string{})
	// TODO::: Can it be a mediatype?? Due it can't represent its data without schema
	Protobuf = New("application/protobuf").SetFileExtension("protobuf").
				SetInfo(protocol.Software_PreAlpha, 0, "https://datatracker.ietf.org/doc/html/draft-rfernando-protocol-buffers-00").
				SetDetail(protocol.LanguageEnglish, "", "", "", "", "", []string{})

	RAR = New("application/x-rar-compressed").SetFileExtension("rar").
		SetDetail(protocol.LanguageEnglish, "RAR archive", "", "", "", "", []string{})
	RTF = New("application/rtf").SetFileExtension("rtf").
		SetDetail(protocol.LanguageEnglish, "Rich Text Format", "", "", "", "", []string{})

	SRPC = New("application/srpc").SetFileExtension("srpc").
			SetDetail(protocol.LanguageEnglish, "Syllab Remote procedure call protocol", "", "", "", "", []string{})
	Syllab = New("application/syllab").SetFileExtension("syllab").
			SetDetail(protocol.LanguageEnglish, "Syllab codec protocol", "", "", "", "", []string{})
	SevenZ = New("application/x-7z-compressed").SetFileExtension("7z").
			SetDetail(protocol.LanguageEnglish, "7-zip archive", "", "", "", "", []string{})
	SH = New("application/x-sh").SetFileExtension("sh").
		SetDetail(protocol.LanguageEnglish, "Bourne shell script", "", "", "", "", []string{})
	SWF = New("application/x-shockwave-flash").SetFileExtension("swf").
		SetDetail(protocol.LanguageEnglish, "Small web format (SWF) or Adobe Flash document", "", "", "", "", []string{})

	TAR = New("application/tar").SetFileExtension("tar").
		SetDetail(protocol.LanguageEnglish, "Tape Archive", "", "", "", "", []string{})

	URI = New("application/uri").SetFileExtension("uri").
		SetDetail(protocol.LanguageEnglish, "URI", "", "", "", "", []string{})

	WASM = New("application/wasm").SetFileExtension("wasm").
			SetDetail(protocol.LanguageEnglish, "WebAssembly",
			"WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine",
			"", "", "",
			[]string{})

	XML = New("application/xml").SetFileExtension("xml").
		SetDetail(protocol.LanguageEnglish, "XML format", "", "", "", "", []string{})
	XHTML = New("application/xhtml+xml").SetFileExtension("xhtml").
			SetDetail(protocol.LanguageEnglish, "", "", "", "", "", []string{})

	ZIP = New("application/zip").SetFileExtension("zip").
		SetDetail(protocol.LanguageEnglish, "ZIP archive", "", "", "", "", []string{})
	ZZ = New("application/defalate").SetFileExtension("zz").
		SetDetail(protocol.LanguageEnglish, "zlib archive", "", "", "", "", []string{})
)
View Source
var (
	AZW = New("application/vnd.amazon.ebook").SetFileExtension("azw").
		SetDetail(protocol.LanguageEnglish, "Amazon Kindle eBook format", "", "", "", "", []string{})

	LOG = New("application/vnd.log.protocol+syllab").SetFileExtension("log")

	MPKG = New("application/vnd.apple.installer+xml").SetFileExtension("mpkg").
			SetDetail(protocol.LanguageEnglish, "Apple Installer Package", "", "", "", "", []string{})

	ODP = New("application/vnd.oasis.opendocument.presentation").SetFileExtension("odp").
		SetDetail(protocol.LanguageEnglish, "OpenDocument presentation document", "", "", "", "", []string{})
	ODS = New("application/vnd.oasis.opendocument.spreadsheet").SetFileExtension("ods").
		SetDetail(protocol.LanguageEnglish, "OpenDocument spreadsheet document", "", "", "", "", []string{})
	ODT = New("application/vnd.oasis.opendocument.text").SetFileExtension("odt").
		SetDetail(protocol.LanguageEnglish, "OpenDocument text document", "", "", "", "", []string{})

	PPT = New("application/vnd.ms-powerpoint").SetFileExtension("ppt").
		SetDetail(protocol.LanguageEnglish, "Microsoft PowerPoint", "", "", "", "", []string{})

	VSD = New("application/vnd.visio").SetFileExtension("vsd").
		SetDetail(protocol.LanguageEnglish, "Microsoft Visio", "", "", "", "", []string{})

	XLS = New("application/vnd.ms-excel").SetFileExtension("xls").
		SetDetail(protocol.LanguageEnglish, "Microsoft Excel", "", "", "", "", []string{})
	XUL = New("application/vnd.mozilla.xul+xml").SetFileExtension("xul")
)

Vendor specific application mediatype

View Source
var (
	AAC = New("audio/aac").SetFileExtension("aac").
		SetDetail(protocol.LanguageEnglish, "AAC audio file", "", "", "", "", []string{})

	WAV = New("audio/x-wav").SetFileExtension("wav").
		SetDetail(protocol.LanguageEnglish, "Waveform Audio Format", "", "", "", "", []string{})
	WEBA = New("audio/webm").SetFileExtension("webm").
			SetDetail(protocol.LanguageEnglish, "WEBM audio", "", "", "", "", []string{})

	OGA = New("audio/ogg").SetFileExtension("ogg").
		SetDetail(protocol.LanguageEnglish, "OGG audio", "", "", "", "", []string{})

	MID = New("audio/mid").SetFileExtension("mid").
		SetDetail(protocol.LanguageEnglish, "Musical Instrument Digital Interface", "", "", "", "", []string{})
	MIDI = New("audio/midi").SetFileExtension("midi").
			SetDetail(protocol.LanguageEnglish, "Musical Instrument Digital Interface", "", "", "", "", []string{})

	ThreeGPAudio = New("audio/3gpp").SetFileExtension("3gp").
					SetDetail(protocol.LanguageEnglish, "3GPP audio container", "", "", "", "", []string{})
	ThreeG2Audio = New("audio/3gpp2").SetFileExtension("3g2").
					SetDetail(protocol.LanguageEnglish, "3GPP2 audio container", "", "", "", "", []string{})
)
View Source
var (
	WOFF = New("font/woff").SetFileExtension("woff").
			SetDetail(protocol.LanguageEnglish, "Web Open Font Format", "", "", "", "", []string{})
	WOFF2 = New("font/woff2").SetFileExtension("woff2").
			SetDetail(protocol.LanguageEnglish, "Web Open Font Format version 2", "", "", "", "", []string{})

	TTF = New("font/ttf").SetFileExtension("ttf").
		SetDetail(protocol.LanguageEnglish, "TrueType Font", "", "", "", "", []string{})
)
View Source
var (
	GIF = New("image/gif").SetFileExtension("gif").
		SetDetail(protocol.LanguageEnglish, "Graphics Interchange Format", "", "", "", "", []string{})

	JPG = New("image/jpeg").SetFileExtension("jpg").
		SetDetail(protocol.LanguageEnglish, "JPEG images", "", "", "", "", []string{})
	JPEG = New("image/jpeg").SetFileExtension("jpeg").
			SetDetail(protocol.LanguageEnglish, "JPEG images", "", "", "", "", []string{})

	PNG = New("image/png").SetFileExtension("png").
		SetDetail(protocol.LanguageEnglish, "Portable Network Graphics", "", "", "", "", []string{})

	SVG = New("image/svg+xml").SetFileExtension("svg").
		SetDetail(protocol.LanguageEnglish, " Scalable Vector Graphics", "", "", "", "", []string{})

	ICO = New("image/x-icon").SetFileExtension("ico").
		SetDetail(protocol.LanguageEnglish, "Icon format", "", "", "", "", []string{})

	WEBP = New("image/webp").SetFileExtension("webp").
			SetDetail(protocol.LanguageEnglish, "WEBP image", "", "", "", "", []string{})

	TIF = New("image/tiff").SetFileExtension("tif").
		SetDetail(protocol.LanguageEnglish, "Tagged Image File Format", "", "", "", "", []string{})
	TIFF = New("image/tiff").SetFileExtension("tiff").
			SetDetail(protocol.LanguageEnglish, "Tagged Image File Format", "", "", "", "", []string{})
)
View Source
var (
	ASC = New("text/plain").SetFileExtension("asc").
		SetDetail(protocol.LanguageEnglish, "", "", "", "", "", []string{})

	CSS = New("text/css").SetFileExtension("css").
		SetDetail(protocol.LanguageEnglish, "Cascading Style Sheets", "", "", "", "", []string{})
	CSV = New("text/csv").SetFileExtension("csv").
		SetDetail(protocol.LanguageEnglish, "Comma-separated values", "", "", "", "", []string{})

	TEXT = New("text/plain").SetFileExtension("text").
			SetDetail(protocol.LanguageEnglish, "", "", "", "", "", []string{})
	TXT = New("text/plain").SetFileExtension("txt").
		SetDetail(protocol.LanguageEnglish, "", "", "", "", "", []string{})

	HTM = New("text/html").SetFileExtension("htm").
		SetDetail(protocol.LanguageEnglish, "HyperText Markup Language", "", "", "", "", []string{})
	HTML = New("text/html").SetFileExtension("html").
			SetDetail(protocol.LanguageEnglish, "HyperText Markup Language", "", "", "", "", []string{})

	TSV = New("text/tab-separated-values").SetFileExtension("tsv").
		SetDetail(protocol.LanguageEnglish, "", "", "", "", "", []string{})

	XSL = New("text/xml").SetFileExtension("xsl").
		SetDetail(protocol.LanguageEnglish, "", "", "", "", "", []string{})
	XSD = New("text/xml").SetFileExtension("xsd").
		SetDetail(protocol.LanguageEnglish, "", "", "", "", "", []string{})

	ICS = New("text/calendar").SetFileExtension("ics").
		SetDetail(protocol.LanguageEnglish, "iCalendar format", "", "", "", "", []string{})
)
View Source
var (
	AVI = New("video/x-msvideo").SetFileExtension("avi").
		SetDetail(protocol.LanguageEnglish, "Audio Video Interleave", "", "", "", "", []string{})

	MPEG = New("video/mpeg").SetFileExtension("mpeg").
			SetDetail(protocol.LanguageEnglish, "MPEG Video", "", "", "", "", []string{})

	OGV = New("video/ogg").SetFileExtension("ogg").
		SetDetail(protocol.LanguageEnglish, "OGG video", "", "", "", "", []string{})

	ThreeGPVideo = New("video/3gpp").SetFileExtension("3gp").
					SetDetail(protocol.LanguageEnglish, "3GPP video container", "", "", "", "", []string{})
	ThreeG2Video = New("video/3gpp2").SetFileExtension("3g2").
					SetDetail(protocol.LanguageEnglish, "3GPP2 video container", "", "", "", "", []string{})

	WEBM = New("video/webm").SetFileExtension("webm").
			SetDetail(protocol.LanguageEnglish, "WEBM video", "", "", "", "", []string{})
)
View Source
var (
	EML = New("message/rfc822").SetFileExtension("eml").
		SetDetail(protocol.LanguageEnglish, "", "", "", "", "", []string{})
)

Functions

func ByFileExtension

func ByFileExtension(ex string) protocol.MediaType

func ByID

func ByID(id uint64) protocol.MediaType

func ByMediaType

func ByMediaType(mediaType string) protocol.MediaType

func IDGenerator

func IDGenerator(uri string) (uuid [32]byte, id uint64)

func IDfromString

func IDfromString(IDasString string) (id uint64, err protocol.Error)

Types

type MediaType

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

MediaType implement protocol.MediaType interface type "/" [tree "."] subtype ["+" suffix]* [";" parameter] https://datatracker.ietf.org/doc/html/rfc2046

func New

func New(mediatype string) (mt *MediaType)

func (*MediaType) Detail

func (*MediaType) Details

func (mt *MediaType) Details() []protocol.MediaTypeDetail

func (*MediaType) ExpireInFavorOf

func (mt *MediaType) ExpireInFavorOf() protocol.MediaType

func (*MediaType) Expired

func (mt *MediaType) Expired(expiryDate protocol.TimeUnixSec, inFavorOf protocol.MediaType) *MediaType

func (*MediaType) ExpiryDate

func (mt *MediaType) ExpiryDate() protocol.TimeUnixSec

func (*MediaType) FileExtension

func (mt *MediaType) FileExtension() string

func (*MediaType) ID

func (mt *MediaType) ID() uint64

func (*MediaType) IDasString

func (mt *MediaType) IDasString() string

func (*MediaType) Init

func (mt *MediaType) Init(raw string)

func (*MediaType) IssueDate

func (mt *MediaType) IssueDate() protocol.TimeUnixSec

func (*MediaType) MediaType

func (mt *MediaType) MediaType() string

func (*MediaType) Parameters

func (mt *MediaType) Parameters() []string

func (*MediaType) SetDetail

func (mt *MediaType) SetDetail(lang protocol.LanguageID, domain, summary, overview, userNote, devNote string, tags []string) *MediaType

SetDetail add error text details to existing error and return it.

func (*MediaType) SetFileExtension

func (mt *MediaType) SetFileExtension(fileExtension string) *MediaType

func (*MediaType) SetInfo

func (mt *MediaType) SetInfo(status protocol.SoftwareStatus, issueDate protocol.TimeUnixSec, referenceURI string) *MediaType

func (*MediaType) Status

func (mt *MediaType) Status() protocol.SoftwareStatus

func (*MediaType) SubType

func (mt *MediaType) SubType() string

func (*MediaType) Suffix

func (mt *MediaType) Suffix() string

func (*MediaType) Tree

func (mt *MediaType) Tree() string

func (*MediaType) Type

func (mt *MediaType) Type() string

func (*MediaType) UUID

func (mt *MediaType) UUID() [32]byte

type MediaTypeDetail

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

MediaTypeDetail store detail about an MediaType that impelement protocol.MediaTypeDetail

func (*MediaTypeDetail) DevNote

func (d *MediaTypeDetail) DevNote() string

func (*MediaTypeDetail) Domain

func (d *MediaTypeDetail) Domain() string

func (*MediaTypeDetail) Language

func (d *MediaTypeDetail) Language() protocol.LanguageID

func (*MediaTypeDetail) Overview

func (d *MediaTypeDetail) Overview() string

func (*MediaTypeDetail) Summary

func (d *MediaTypeDetail) Summary() string

func (*MediaTypeDetail) TAGS

func (d *MediaTypeDetail) TAGS() []string

func (*MediaTypeDetail) UserNote

func (d *MediaTypeDetail) UserNote() string

type MediaTypes

type MediaTypes struct{}

MediaTypes store all data structure details

func (*MediaTypes) GetMediaType

func (dss *MediaTypes) GetMediaType(mediaType string) protocol.MediaType

func (*MediaTypes) GetMediaTypeByFileExtension

func (dss *MediaTypes) GetMediaTypeByFileExtension(ex string) protocol.MediaType

func (*MediaTypes) GetMediaTypeByID

func (dss *MediaTypes) GetMediaTypeByID(id uint64) protocol.MediaType

func (*MediaTypes) RegisterMediaType

func (dss *MediaTypes) RegisterMediaType(mt protocol.MediaType)

RegisterMediaType register given datastructure

Jump to

Keyboard shortcuts

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