...
Run Format

Source file src/mime/type_plan9.go

Documentation: mime

  // Copyright 2013 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.
  
  package mime
  
  import (
  	"bufio"
  	"os"
  	"strings"
  )
  
  func init() {
  	osInitMime = initMimePlan9
  }
  
  func initMimePlan9() {
  	for _, filename := range typeFiles {
  		loadMimeFile(filename)
  	}
  }
  
  var typeFiles = []string{
  	"/sys/lib/mimetype",
  }
  
  func initMimeForTests() map[string]string {
  	typeFiles = []string{"testdata/test.types.plan9"}
  	return map[string]string{
  		".t1":  "application/test",
  		".t2":  "text/test; charset=utf-8",
  		".pNg": "image/png",
  	}
  }
  
  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) <= 2 || fields[0][0] != '.' {
  			continue
  		}
  		if fields[1] == "-" || fields[2] == "-" {
  			continue
  		}
  		setExtensionType(fields[0], fields[1]+"/"+fields[2])
  	}
  	if err := scanner.Err(); err != nil {
  		panic(err)
  	}
  }
  

View as plain text