Browse Source

Merge pull request #10 from clebertsuconic/new-readme

Adding some README information on how to consume this example
Miek Gieben 5 years ago
parent
commit
bbfc0ec172
2 changed files with 28 additions and 0 deletions
  1. 25 0
      README.md
  2. 3 0
      example.go

+ 25 - 0
README.md

@@ -9,6 +9,31 @@
 The example plugin prints "example" on every query that go handled by the server. It serves as
 The example plugin prints "example" on every query that go handled by the server. It serves as
 documentation for writing CoreDNS plugins.
 documentation for writing CoreDNS plugins.
 
 
+## Compilation
+
+This package will always be compiled as part of CoreDNS and not in a standalone way. It will require you to use `go get` or as a dependency on [plugin.cfg](https://github.com/coredns/coredns/blob/master/plugin.cfg).
+
+The [manual](https://coredns.io/manual/toc/#what-is-coredns) will have more information about how to configure and extend the server with external plugins.
+
+A simple way to consume this plugin, is by adding the following on [plugin.cfg](https://github.com/coredns/coredns/blob/master/plugin.cfg), and recompile it as [detailed on coredns.io](https://coredns.io/2017/07/25/compile-time-enabling-or-disabling-plugins/#build-with-compile-time-configuration-file).
+
+~~~
+example:github.com/coredns/example
+~~~
+
+After this you can compile coredns by:
+
+```shell script
+go generate
+go build
+```
+
+Or you can instead use make:
+
+```shell script
+make
+```
+
 ## Syntax
 ## Syntax
 
 
 ~~~ txt
 ~~~ txt

+ 3 - 0
example.go

@@ -12,6 +12,7 @@ import (
 	"github.com/coredns/coredns/plugin"
 	"github.com/coredns/coredns/plugin"
 	"github.com/coredns/coredns/plugin/metrics"
 	"github.com/coredns/coredns/plugin/metrics"
 	clog "github.com/coredns/coredns/plugin/pkg/log"
 	clog "github.com/coredns/coredns/plugin/pkg/log"
+	"github.com/coredns/coredns/request"
 
 
 	"github.com/miekg/dns"
 	"github.com/miekg/dns"
 )
 )
@@ -34,6 +35,8 @@ func (e Example) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg)
 	// answer comes back, it will print "example".
 	// answer comes back, it will print "example".
 
 
 	// Debug log that we've have seen the query. This will only be shown when the debug plugin is loaded.
 	// Debug log that we've have seen the query. This will only be shown when the debug plugin is loaded.
+	state := request.Request{W: w, Req: r}
+	fmt.Fprintln(out, state.QName())
 	log.Debug("Received response")
 	log.Debug("Received response")
 
 
 	// Wrap.
 	// Wrap.