mirror of https://github.com/golang/go.git
Add a HTTP handler to the exvar package.
R=r APPROVED=r DELTA=20 (11 added, 6 deleted, 3 changed) OCL=27782 CL=27950
This commit is contained in:
parent
1304183efc
commit
a08fb0ff33
|
|
@ -8,6 +8,8 @@ package exvar
|
|||
|
||||
import (
|
||||
"fmt";
|
||||
"http";
|
||||
"io";
|
||||
)
|
||||
|
||||
// If mismatched names are used (e.g. calling IncrementInt on a mapVar), the
|
||||
|
|
@ -220,3 +222,12 @@ func String() string {
|
|||
});
|
||||
return s
|
||||
}
|
||||
|
||||
// ExvarHandler is a HTTP handler that displays exported variables.
|
||||
// Use it like this:
|
||||
// http.Handle("/exvar", http.HandlerFunc(exvar.ExvarHandler));
|
||||
func ExvarHandler(c *http.Conn, req *http.Request) {
|
||||
// TODO(dsymonds): Support different output= args.
|
||||
c.SetHeader("content-type", "text/plain; charset=utf-8");
|
||||
io.WriteString(c, String());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,23 +18,17 @@ import (
|
|||
|
||||
// hello world, the web server
|
||||
func HelloServer(c *http.Conn, req *http.Request) {
|
||||
exvar.Increment("hello-requests", 1);
|
||||
exvar.IncrementInt("hello-requests", 1);
|
||||
io.WriteString(c, "hello, world!\n");
|
||||
}
|
||||
|
||||
// Handler for /exvar requests.
|
||||
func ExvarServer(c *http.Conn, req *http.Request) {
|
||||
c.SetHeader("content-type", "text/plain; charset=utf-8");
|
||||
io.WriteString(c, exvar.String());
|
||||
}
|
||||
|
||||
// simple counter server
|
||||
type Counter struct {
|
||||
n int;
|
||||
}
|
||||
|
||||
func (ctr *Counter) ServeHTTP(c *http.Conn, req *http.Request) {
|
||||
exvar.Increment("counter-requests", 1);
|
||||
exvar.IncrementInt("counter-requests", 1);
|
||||
fmt.Fprintf(c, "counter = %d\n", ctr.n);
|
||||
ctr.n++;
|
||||
}
|
||||
|
|
@ -101,7 +95,7 @@ func main() {
|
|||
http.Handle("/args", http.HandlerFunc(ArgServer));
|
||||
http.Handle("/go/hello", http.HandlerFunc(HelloServer));
|
||||
http.Handle("/chan", ChanCreate());
|
||||
http.Handle("/exvar", http.HandlerFunc(ExvarServer));
|
||||
http.Handle("/exvar", http.HandlerFunc(exvar.ExvarHandler));
|
||||
err := http.ListenAndServe(":12345", nil);
|
||||
if err != nil {
|
||||
panic("ListenAndServe: ", err.String())
|
||||
|
|
|
|||
Loading…
Reference in New Issue