ksrv/README.md

760 B

kmux

A extended gorilla mux with logging and panic recovery

Examples

package main

import (
	"errors"
	"fmt"
	"net/http"

	"kumoly.io/core/log"
	"kumoly.io/lib/kmux"
)

func main() {
	log.PROD = false
	mux := kmux.NewRouter()
	mux.HandleFunc("/", func(rw http.ResponseWriter, r *http.Request) { rw.Write([]byte("ok")) })
	mux.HandleFunc("/err", func(rw http.ResponseWriter, r *http.Request) { kmux.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")
	err := mux.Server().Listen("0.0.0.0:8081").Serve()
	if err != nil {
		panic(err)
	}
}