Mercurial > hg > CbC > CbC_gcc
view libgo/go/mime/type_unix.go @ 138:fc828634a951
merge
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 08 Nov 2018 14:17:14 +0900 |
parents | 84e7813d76e9 |
children | 1830386684a0 |
line wrap: on
line source
// Copyright 2010 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // +build aix darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris package mime import ( "bufio" "os" "strings" ) func init() { osInitMime = initMimeUnix } var typeFiles = []string{ "/etc/mime.types", "/etc/apache2/mime.types", "/etc/apache/mime.types", } func loadMimeFile(filename string) { f, err := os.Open(filename) if err != nil { return } defer f.Close() scanner := bufio.NewScanner(f) for scanner.Scan() { fields := strings.Fields(scanner.Text()) if len(fields) <= 1 || fields[0][0] == '#' { continue } mimeType := fields[0] for _, ext := range fields[1:] { if ext[0] == '#' { break } setExtensionType("."+ext, mimeType) } } if err := scanner.Err(); err != nil { panic(err) } } func initMimeUnix() { for _, filename := range typeFiles { loadMimeFile(filename) } } func initMimeForTests() map[string]string { typeFiles = []string{"testdata/test.types"} return map[string]string{ ".T1": "application/test", ".t2": "text/test; charset=utf-8", ".png": "image/png", } }