diff options
Diffstat (limited to 'test/go/variables')
-rw-r--r-- | test/go/variables/app.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/go/variables/app.go b/test/go/variables/app.go new file mode 100644 index 00000000..5db4ac67 --- /dev/null +++ b/test/go/variables/app.go @@ -0,0 +1,30 @@ +package main + +import ( + "io" + "fmt" + "net/http" + "nginx/unit" +) + +func handler(w http.ResponseWriter, r *http.Request) { + var buf [4096]byte; + len, _ := r.Body.Read(buf[:]) + + w.Header().Set("Request-Method", r.Method) + w.Header().Set("Request-Uri", r.RequestURI) + w.Header().Set("Server-Protocol", r.Proto) + w.Header().Set("Server-Protocol-Major", fmt.Sprintf("%v", r.ProtoMajor)) + w.Header().Set("Server-Protocol-Minor", fmt.Sprintf("%v", r.ProtoMinor)) + w.Header().Set("Content-Length", fmt.Sprintf("%v", len)) + w.Header().Set("Content-Type", r.Header.Get("Content-Type")) + w.Header().Set("Custom-Header", r.Header.Get("Custom-Header")) + w.Header().Set("Http-Host", r.Header.Get("Host")) + + io.WriteString(w, string(buf[:len])) +} + +func main() { + http.HandleFunc("/", handler) + unit.ListenAndServe(":7080", nil) +} |