ksrv/README.md

34 lines
774 B
Markdown
Raw Permalink Normal View History

2021-11-03 17:17:58 +00:00
# ksrv
A extended http.Server with logging and panic recovery
## Examples
```go
package main
import (
"errors"
"fmt"
"net/http"
"kumoly.io/core/log"
"kumoly.io/lib/ksrv"
)
func main() {
log.PROD = false
mux := http.NewServeMux()
mux.HandleFunc("/", func(rw http.ResponseWriter, r *http.Request) { rw.Write([]byte("ok")) })
mux.HandleFunc("/err", func(rw http.ResponseWriter, r *http.Request) { ksrv.Abort(rw, errors.New("small err")) })
mux.HandleFunc("/panic", func(rw http.ResponseWriter, r *http.Request) { panic(500) })
mux.HandleFunc("/out", func(rw http.ResponseWriter, r *http.Request) { arr := []int{0, 1}; fmt.Print(arr[9]) })
log.Info("start")
2021-11-03 18:09:00 +00:00
err := ksrv.New().Handle(mux).Listen("0.0.0.0:8080").Serve()
2021-11-03 17:17:58 +00:00
if err != nil {
panic(err)
}
}
```