lean into examples
This commit is contained in:
22
examples/middleware/middleware.go
Normal file
22
examples/middleware/middleware.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package main
|
||||
|
||||
import "net/http"
|
||||
import "fmt"
|
||||
|
||||
func hello(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Set("Content-Type", "text/plain")
|
||||
fmt.Fprintln(w, "Hello wrapped world")
|
||||
}
|
||||
|
||||
func wrapMiddleware(f http.HandlerFunc) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Set("X-Wrapped", "true")
|
||||
f(w, r)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
handler := wrapMiddleware(hello)
|
||||
http.HandleFunc("/", handler)
|
||||
http.ListenAndServe(":5000", nil)
|
||||
}
|
||||
10
examples/middleware/middleware.sh
Normal file
10
examples/middleware/middleware.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
$ go run middleware.go
|
||||
|
||||
$ curl -i http://127.0.0.1:5000/
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: text/plain
|
||||
Date: Tue, 02 Oct 2012 00:37:18 GMT
|
||||
Transfer-Encoding: chunked
|
||||
X-Wrapped: true
|
||||
|
||||
Hello wrapped world
|
||||
Reference in New Issue
Block a user