summaryrefslogtreecommitdiffhomepage
path: root/test/go/variables/app.go
diff options
context:
space:
mode:
authorAndrey Zelenkov <zelenkov@nginx.com>2018-06-08 18:32:55 +0300
committerAndrey Zelenkov <zelenkov@nginx.com>2018-06-08 18:32:55 +0300
commitf2a856aa3b0ea0e0d892a9a3865c54de83c71a74 (patch)
treebcc68a2f5790bb6c46ec1fa56bac2bee9ba00114 /test/go/variables/app.go
parent2b39ed5dfb56fa01e38ee8540973f4eb42a1ff82 (diff)
downloadunit-f2a856aa3b0ea0e0d892a9a3865c54de83c71a74.tar.gz
unit-f2a856aa3b0ea0e0d892a9a3865c54de83c71a74.tar.bz2
Tests: Go application tests.
Diffstat (limited to '')
-rw-r--r--test/go/variables/app.go30
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)
+}