diff options
| -rw-r--r-- | README.md | 3 | ||||
| -rw-r--r-- | go.mod | 3 | ||||
| -rw-r--r-- | main.go | 27 |
3 files changed, 33 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..cdb00ce --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# go-echo + +A simple golang echo server that returns headers. @@ -0,0 +1,3 @@ +module go.ofmax.li/go-echo + +go 1.17 @@ -0,0 +1,27 @@ +package main + +import ( + "fmt" + "log" + "net/http" + "time" +) + +func echo(w http.ResponseWriter, req *http.Request) { + startTime := time.Now() + log.Printf("request recv %v", startTime) + fmt.Fprintf(w, "start time: %v\n", startTime) + for key, value := range req.Header { + for _, v := range value { + fmt.Fprintf(w, "%v: %v\n", key, v) + } + } + endTime := time.Now() + fmt.Fprintf(w, "end time: %v\n", endTime) +} + +func main() { + http.HandleFunc("/", echo) + log.Println("...starting echo server...") + http.ListenAndServe(":9000", nil) +} |