Add documentation
This commit is contained in:
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
@@ -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
|
||||
}
|
||||
@@ -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"}}
|
||||
@@ -0,0 +1,7 @@
|
||||
package MimeTypes
|
||||
|
||||
// The type for a MIME type.
|
||||
type MimeType struct {
|
||||
MimeType string
|
||||
FileExtension []string
|
||||
}
|
||||
@@ -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"}}
|
||||
)
|
||||
@@ -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)
|
||||
}
|
||||
Reference in new issue
Block a user