...

Source file src/pkg/mime/type_windows.go

     1	// Copyright 2010 The Go Authors. All rights reserved.
     2	// Use of this source code is governed by a BSD-style
     3	// license that can be found in the LICENSE file.
     4	
     5	package mime
     6	
     7	import (
     8		"internal/syscall/windows/registry"
     9	)
    10	
    11	func init() {
    12		osInitMime = initMimeWindows
    13	}
    14	
    15	func initMimeWindows() {
    16		names, err := registry.CLASSES_ROOT.ReadSubKeyNames(-1)
    17		if err != nil {
    18			return
    19		}
    20		for _, name := range names {
    21			if len(name) < 2 || name[0] != '.' { // looking for extensions only
    22				continue
    23			}
    24			k, err := registry.OpenKey(registry.CLASSES_ROOT, name, registry.READ)
    25			if err != nil {
    26				continue
    27			}
    28			v, _, err := k.GetStringValue("Content Type")
    29			k.Close()
    30			if err != nil {
    31				continue
    32			}
    33			setExtensionType(name, v)
    34		}
    35	}
    36	
    37	func initMimeForTests() map[string]string {
    38		return map[string]string{
    39			".PnG": "image/png",
    40		}
    41	}
    42	

View as plain text