diff options
Diffstat (limited to 'gen/directives_generate.go')
-rw-r--r-- | gen/directives_generate.go | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/gen/directives_generate.go b/gen/directives_generate.go deleted file mode 100644 index 5cd8eccd2..000000000 --- a/gen/directives_generate.go +++ /dev/null @@ -1,116 +0,0 @@ -package main - -import ( - "bufio" - "io/ioutil" - "os" - "sort" - "strconv" - "strings" -) - -var middlewarePath = "github.com/miekg/coredns/middleware/" -var header = "// generated by directives_generate.go; DO NOT EDIT\n" - -func main() { - mwFile := os.Args[1] - - mi := make(map[string]string, 0) - md := make(map[int]string, 0) - - if file, err := os.Open(mwFile); err == nil { - defer file.Close() - - scanner := bufio.NewScanner(file) - for scanner.Scan() { - line := scanner.Text() - if !strings.HasPrefix(line, `//`) && !strings.HasPrefix(line, "#") { - items := strings.Split(line, ":") - if len(items) == 3 { - if priority, err := strconv.Atoi(items[0]); err == nil { - md[priority] = items[1] - } - - if items[2] != "" { - if strings.Contains(items[2], "/") { - mi[items[1]] = items[2] - } else { - mi[items[1]] = middlewarePath + items[2] - } - } - - } - } - } - - var orders []int - for k := range md { - orders = append(orders, k) - } - sort.Ints(orders) - - if os.Getenv("GOPACKAGE") == "core" { - genImports("zmiddleware.go", mi) - } - if os.Getenv("GOPACKAGE") == "dnsserver" { - genDirectives("zdirectives.go", md) - } - - } else { - os.Exit(1) - } - os.Exit(0) - -} - -func genImports(file string, mi map[string]string) { - outs := header + "package " + os.Getenv("GOPACKAGE") + "\n\n" + "import (" - - if len(mi) > 0 { - outs += "\n" - } - - for _, v := range mi { - outs += " _ \"" + v + "\"\n" - } - outs += ")\n" - - err := ioutil.WriteFile(file, []byte(outs), 0644) - if err != nil { - os.Exit(1) - } - -} - -func genDirectives(file string, md map[int]string) { - - outs := header + "package " + os.Getenv("GOPACKAGE") + "\n\n" - outs += ` -// Directives are registered in the order they should be -// executed. -// -// Ordering is VERY important. Every middleware will -// feel the effects of all other middleware below -// (after) them during a request, but they must not -// care what middleware above them are doing. - -var directives = []string{ -` - - var orders []int - for k := range md { - orders = append(orders, k) - } - sort.Ints(orders) - - for _, k := range orders { - outs += " \"" + md[k] + "\",\n" - } - - outs += "}\n" - - err := ioutil.WriteFile(file, []byte(outs), 0644) - if err != nil { - os.Exit(1) - } -} |