func (h *HealthzHandle) Handle(w http.ResponseWriter, r *http.Request, ps httpdispatch.Params) {
	w.WriteHeader(http.StatusOK)
}
Handle implements httpdispatch.Handler interface
package gogo
import (
	"fmt"
	"net/http"
	"reflect"
	"runtime"
	"strings"
	"github.com/dolab/gogo/internal/params"
	"github.com/dolab/gogo/pkgs/hooks"
	"github.com/dolab/httpdispatch"
)
type ContextHandle struct {
	pkg            string
	ctrl           string
	action         string
	handler        http.HandlerFunc
	filters        []Middleware
	requestRouted  *hooks.HookList
	responseReady  *hooks.HookList
	responseAlways *hooks.HookList
}
func NewContextHandle(handler http.HandlerFunc, filters []Middleware,
	requestRouted, responseReady, responseAlways *hooks.HookList) *ContextHandle {
	var rval reflect.Value
	if handler == nil {
		rval = reflect.ValueOf(filters[len(filters)-1])
	} else {
		rval = reflect.ValueOf(handler)
	}
	name := runtime.FuncForPC(rval.Pointer()).Name()
	vars := strings.Split(name, "/")
	if len(vars) > 1 {
		name = vars[len(vars)-1]
	}
	vars = strings.Split(name, ".")
	switch len(vars) {
	case 3:
		vars[1] = strings.TrimLeft(vars[1], "(")
		vars[1] = strings.TrimRight(vars[1], ")")
		vars[2] = strings.SplitN(vars[2], "-", 2)[0]
	case 2:
		vars = []string{vars[0], vars[0], vars[1]}
	default:
		vars = []string{vars[0], vars[0], "<http.HandlerFunc>"}
	}
	return &ContextHandle{
		pkg:            vars[0],
		ctrl:           vars[1],
		action:         vars[2],
		handler:        handler,
		filters:        filters,
		requestRouted:  requestRouted,
		responseReady:  responseReady,
		responseAlways: responseAlways,
	}
}
func (ch *ContextHandle) Handle(w http.ResponseWriter, r *http.Request, ps httpdispatch.Params) {
	defer ch.responseAlways.Run(w, r)
	if !ch.requestRouted.Run(w, r) {
		return
	}
	ctx := contextNew(w, r, params.NewParams(r, ps), ch.pkg, ch.ctrl, ch.action)
	defer contextReuse(ctx)
	if ch.handler == nil {
		ctx.run(nil, ch.filters, ch.responseReady)
	} else {
		ctx.run(ch.handler, ch.filters, ch.responseReady)
	}
}
type HealthzHandle struct{}
func NewHealthzHandle(server *AppServer) *HealthzHandle {
	return &HealthzHandle{}
}