Initial commit of Ocean's local development
This commit is contained in:
1 parent
9944a9e1df
commit
86451938ec
116 files changed
+3320
No files matched your search
@@ -0,0 +1,38 @@
|
||||
package MimeTypes
|
||||
|
||||
var allTypes [32]MimeType
|
||||
|
||||
func init() {
|
||||
allTypes[0] = TypeWebHTML
|
||||
allTypes[1] = TypeWebCSS
|
||||
allTypes[2] = TypeWebJavaScript
|
||||
allTypes[3] = TypeXML
|
||||
allTypes[4] = TypeArchiveZIP
|
||||
allTypes[5] = TypeArchiveGZ
|
||||
allTypes[6] = TypeWebOCTET
|
||||
allTypes[7] = TypeDocumentPDF
|
||||
allTypes[8] = TypeDocumentLaTeX
|
||||
allTypes[9] = TypeShockwave
|
||||
allTypes[10] = TypeArchiveTAR
|
||||
allTypes[11] = TypeAudioWAV
|
||||
allTypes[12] = TypeAudioMP3
|
||||
allTypes[13] = TypeAudioAAC
|
||||
allTypes[14] = TypeAudioOGG
|
||||
allTypes[15] = TypeAudioWMA
|
||||
allTypes[16] = TypeImageGIF
|
||||
allTypes[17] = TypeImageCommon
|
||||
allTypes[18] = TypeUnknown
|
||||
allTypes[19] = TypeImageJPEG
|
||||
allTypes[20] = TypeImagePNG
|
||||
allTypes[21] = TypePlainText
|
||||
allTypes[22] = TypeVideoMPEG
|
||||
allTypes[23] = TypeVideoMOV
|
||||
allTypes[24] = TypeVideoAVI
|
||||
allTypes[25] = TypeVideoMP4
|
||||
allTypes[26] = TypeFontEOT
|
||||
allTypes[27] = TypeFontOTF
|
||||
allTypes[28] = TypeImageSVG
|
||||
allTypes[29] = TypeFontTTF
|
||||
allTypes[30] = TypeFontWOFF
|
||||
allTypes[31] = TypeWebJSON
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
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 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"}}
|
||||
@@ -0,0 +1,22 @@
|
||||
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
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package MimeTypes
|
||||
|
||||
import "net/http"
|
||||
|
||||
func Write2HTTP(response http.ResponseWriter, mime MimeType) {
|
||||
response.Header().Add(`Content-Type`, mime.MimeType)
|
||||
}
|
||||
Reference in new issue
Block a user