mirror of
https://github.com/golang/go.git
synced 2025-05-31 23:25:39 +00:00
more fun with triv.go: flags and arguments
R=rsc DELTA=23 (23 added, 0 deleted, 0 changed) OCL=25088 CL=25134
This commit is contained in:
parent
d0424faf17
commit
03d6909ff7
@ -45,6 +45,27 @@ func FileServer(c *http.Conn, req *http.Request) {
|
||||
fmt.Fprintf(c, "[%d bytes]\n", n);
|
||||
}
|
||||
|
||||
// simple flag server
|
||||
var booleanflag = flag.Bool("boolean", true, "another flag for testing")
|
||||
func FlagServer(c *http.Conn, req *http.Request) {
|
||||
c.SetHeader("content-type", "text/plain; charset=utf-8");
|
||||
fmt.Fprint(c, "Flags:\n");
|
||||
flag.VisitAll(func (f *flag.Flag) {
|
||||
if f.Value.String() != f.DefValue {
|
||||
fmt.Fprintf(c, "%s = %s [default = %s]\n", f.Name, f.Value.String(), f.DefValue);
|
||||
} else {
|
||||
fmt.Fprintf(c, "%s = %s\n", f.Name, f.Value.String());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// simple argument server
|
||||
func ArgServer(c *http.Conn, req *http.Request) {
|
||||
for i, s := range sys.Args {
|
||||
fmt.Fprint(c, s, " ");
|
||||
}
|
||||
}
|
||||
|
||||
// a channel (just for the fun of it)
|
||||
type Chan chan int
|
||||
|
||||
@ -66,6 +87,8 @@ func main() {
|
||||
flag.Parse();
|
||||
http.Handle("/counter", new(Counter));
|
||||
http.Handle("/go/", http.HandlerFunc(FileServer));
|
||||
http.Handle("/flags/", http.HandlerFunc(FlagServer));
|
||||
http.Handle("/args/", http.HandlerFunc(ArgServer));
|
||||
http.Handle("/go/hello", http.HandlerFunc(HelloServer));
|
||||
http.Handle("/chan", ChanCreate());
|
||||
err := http.ListenAndServe(":12345", nil);
|
||||
|
Loading…
x
Reference in New Issue
Block a user