Add documentation

This commit is contained in:
Thorsten Sommer committed 2015-06-17 17:44:52 +02:00
1 parent 69d0bdabf4
commit 6dab89a1d4
144 files changed
+1107 -549

No files matched your search

@@ -1,24 +1,20 @@
package MimeTypes
import (
"strings"
)
type MimeType struct {
MimeType string
FileExtension []string
}
func DetectType(filename string) (mime MimeType, err error) {
for _, typeElement := range allTypes {
for _, extension := range typeElement.FileExtension {
if strings.HasSuffix(filename, extension) {
mime = typeElement
return
}
}
}
mime = TypeUnknown
return
}
package MimeTypes
import (
"strings"
)
// A function to detect a MIME type.
func DetectType(filename string) (mime MimeType, err error) {
for _, typeElement := range allTypes {
for _, extension := range typeElement.FileExtension {
if strings.HasSuffix(filename, extension) {
mime = typeElement
return
}
}
}
mime = TypeUnknown
return
}
+5 -2
View File
@@ -1,8 +1,9 @@
package MimeTypes
var allTypes [32]MimeType
// The init function for this package.
func init() {
// Store the instances for all known types:
allTypes[0] = TypeWebHTML
allTypes[1] = TypeWebCSS
allTypes[2] = TypeWebJavaScript
@@ -35,4 +36,6 @@ func init() {
allTypes[29] = TypeFontTTF
allTypes[30] = TypeFontWOFF
allTypes[31] = TypeWebJSON
allTypes[32] = TypeCSV
allTypes[33] = TypeWebDart
}
-36
View File
@@ -1,36 +0,0 @@
package MimeTypes
var TypeWebHTML = MimeType{MimeType: "text/html", FileExtension: []string{".html", ".htm"}}
var TypeWebCSS = MimeType{MimeType: "text/css", FileExtension: []string{".css"}}
var TypeWebJavaScript = MimeType{MimeType: "text/javascript", FileExtension: []string{".js"}}
var TypeWebDart = MimeType{MimeType: "application/dart", FileExtension: []string{".dart"}}
var TypeXML = MimeType{MimeType: "text/xml", FileExtension: []string{".xml"}}
var TypeArchiveZIP = MimeType{MimeType: "application/zip", FileExtension: []string{".zip"}}
var TypeArchiveGZ = MimeType{MimeType: "application/gzip", FileExtension: []string{".gz"}}
var TypeWebOCTET = MimeType{MimeType: "application/octet-stream", FileExtension: []string{".bin", ".exe", ".dll", ".class"}}
var TypeDocumentPDF = MimeType{MimeType: "application/pdf", FileExtension: []string{".pdf"}}
var TypeDocumentLaTeX = MimeType{MimeType: "application/x-latex", FileExtension: []string{".tex", ".latex"}}
var TypeShockwave = MimeType{MimeType: "application/x-shockwave-flash", FileExtension: []string{".swf"}}
var TypeArchiveTAR = MimeType{MimeType: "application/x-tar", FileExtension: []string{".tar"}}
var TypeAudioWAV = MimeType{MimeType: "application/x-wav", FileExtension: []string{".wav"}}
var TypeAudioMP3 = MimeType{MimeType: "audio/mpeg", FileExtension: []string{".mp3"}}
var TypeAudioAAC = MimeType{MimeType: "audio/aac", FileExtension: []string{".aac", ".m4a"}}
var TypeAudioOGG = MimeType{MimeType: "audio/ogg", FileExtension: []string{"vogg", ".oga"}}
var TypeAudioWMA = MimeType{MimeType: "audio/x-ms-wma", FileExtension: []string{".wma"}}
var TypeImageGIF = MimeType{MimeType: "image/gif", FileExtension: []string{".gif"}}
var TypeImageCommon = MimeType{MimeType: "image", FileExtension: []string{}}
var TypeUnknown = MimeType{MimeType: "application/octet-stream", FileExtension: []string{}}
var TypeImageJPEG = MimeType{MimeType: "image/jpeg", FileExtension: []string{".jpg", ".jpeg"}}
var TypeImagePNG = MimeType{MimeType: "image/png", FileExtension: []string{".png"}}
var TypePlainText = MimeType{MimeType: "text/plain", FileExtension: []string{".txt"}}
var TypeVideoMPEG = MimeType{MimeType: "video/mpeg", FileExtension: []string{".mpeg", ".mpg"}}
var TypeVideoMOV = MimeType{MimeType: "video/quicktime", FileExtension: []string{".mov", ".qt"}}
var TypeVideoAVI = MimeType{MimeType: "video/x-msvideo", FileExtension: []string{".avi"}}
var TypeVideoMP4 = MimeType{MimeType: "video/mp4", FileExtension: []string{".mp4"}}
var TypeFontEOT = MimeType{MimeType: "application/vnd.ms-fontobject", FileExtension: []string{".eot"}}
var TypeFontOTF = MimeType{MimeType: "application/font-sfnt", FileExtension: []string{".otf"}}
var TypeImageSVG = MimeType{MimeType: "image/svg+xml", FileExtension: []string{".svg"}}
var TypeFontTTF = MimeType{MimeType: "application/font-sfnt", FileExtension: []string{".ttf"}}
var TypeFontWOFF = MimeType{MimeType: "application/font-woff", FileExtension: []string{".woff"}}
var TypeWebJSON = MimeType{MimeType: "application/json", FileExtension: []string{".json"}}
var TypeCSV = MimeType{MimeType: "text/csv", FileExtension: []string{".csv"}}
+7
View File
@@ -0,0 +1,7 @@
package MimeTypes
// The type for a MIME type.
type MimeType struct {
MimeType string
FileExtension []string
}
+41
View File
@@ -0,0 +1,41 @@
package MimeTypes
var (
allTypes [34]MimeType // Array for all known types
// Create instances for each known types:
TypeWebHTML = MimeType{MimeType: "text/html", FileExtension: []string{".html", ".htm"}}
TypeWebCSS = MimeType{MimeType: "text/css", FileExtension: []string{".css"}}
TypeWebJavaScript = MimeType{MimeType: "text/javascript", FileExtension: []string{".js"}}
TypeWebDart = MimeType{MimeType: "application/dart", FileExtension: []string{".dart"}}
TypeXML = MimeType{MimeType: "text/xml", FileExtension: []string{".xml"}}
TypeArchiveZIP = MimeType{MimeType: "application/zip", FileExtension: []string{".zip"}}
TypeArchiveGZ = MimeType{MimeType: "application/gzip", FileExtension: []string{".gz"}}
TypeWebOCTET = MimeType{MimeType: "application/octet-stream", FileExtension: []string{".bin", ".exe", ".dll", ".class"}}
TypeDocumentPDF = MimeType{MimeType: "application/pdf", FileExtension: []string{".pdf"}}
TypeDocumentLaTeX = MimeType{MimeType: "application/x-latex", FileExtension: []string{".tex", ".latex"}}
TypeShockwave = MimeType{MimeType: "application/x-shockwave-flash", FileExtension: []string{".swf"}}
TypeArchiveTAR = MimeType{MimeType: "application/x-tar", FileExtension: []string{".tar"}}
TypeAudioWAV = MimeType{MimeType: "application/x-wav", FileExtension: []string{".wav"}}
TypeAudioMP3 = MimeType{MimeType: "audio/mpeg", FileExtension: []string{".mp3"}}
TypeAudioAAC = MimeType{MimeType: "audio/aac", FileExtension: []string{".aac", ".m4a"}}
TypeAudioOGG = MimeType{MimeType: "audio/ogg", FileExtension: []string{"vogg", ".oga"}}
TypeAudioWMA = MimeType{MimeType: "audio/x-ms-wma", FileExtension: []string{".wma"}}
TypeImageGIF = MimeType{MimeType: "image/gif", FileExtension: []string{".gif"}}
TypeImageCommon = MimeType{MimeType: "image", FileExtension: []string{}}
TypeUnknown = MimeType{MimeType: "application/octet-stream", FileExtension: []string{}}
TypeImageJPEG = MimeType{MimeType: "image/jpeg", FileExtension: []string{".jpg", ".jpeg"}}
TypeImagePNG = MimeType{MimeType: "image/png", FileExtension: []string{".png"}}
TypePlainText = MimeType{MimeType: "text/plain", FileExtension: []string{".txt"}}
TypeVideoMPEG = MimeType{MimeType: "video/mpeg", FileExtension: []string{".mpeg", ".mpg"}}
TypeVideoMOV = MimeType{MimeType: "video/quicktime", FileExtension: []string{".mov", ".qt"}}
TypeVideoAVI = MimeType{MimeType: "video/x-msvideo", FileExtension: []string{".avi"}}
TypeVideoMP4 = MimeType{MimeType: "video/mp4", FileExtension: []string{".mp4"}}
TypeFontEOT = MimeType{MimeType: "application/vnd.ms-fontobject", FileExtension: []string{".eot"}}
TypeFontOTF = MimeType{MimeType: "application/font-sfnt", FileExtension: []string{".otf"}}
TypeImageSVG = MimeType{MimeType: "image/svg+xml", FileExtension: []string{".svg"}}
TypeFontTTF = MimeType{MimeType: "application/font-sfnt", FileExtension: []string{".ttf"}}
TypeFontWOFF = MimeType{MimeType: "application/font-woff", FileExtension: []string{".woff"}}
TypeWebJSON = MimeType{MimeType: "application/json", FileExtension: []string{".json"}}
TypeCSV = MimeType{MimeType: "text/csv", FileExtension: []string{".csv"}}
)
+1
View File
@@ -4,6 +4,7 @@ import (
"net/http"
)
// Function to write a MIME type to a client.
func Write2HTTP(response http.ResponseWriter, mime MimeType) {
response.Header().Add(`Content-Type`, mime.MimeType)
}