8 // ServeMuxMap is the type that is used to configure ServeMux
9 type ServeMuxMap map[string]*ServeConfig
11 // ServeMux is like Serve, but serves multiple types of plugins determined
12 // by the argument given on the command-line.
14 // This command doesn't return until the plugin is done being executed. Any
15 // errors are logged or output to stderr.
16 func ServeMux(m ServeMuxMap) {
17 if len(os.Args) != 2 {
18 fmt.Fprintf(os.Stderr,
19 "Invoked improperly. This is an internal command that shouldn't\n"+
20 "be manually invoked.\n")
24 opts, ok := m[os.Args[1]]
26 fmt.Fprintf(os.Stderr, "Unknown plugin: %s\n", os.Args[1])