main.go
package main
import (
"log"
"net/http"
"github.com/spcent/plumego/contract"
"github.com/spcent/plumego/core"
plog "github.com/spcent/plumego/log"
)
func main() {
app := core.New(core.DefaultConfig(),
core.AppDependencies{Logger: plog.NewLogger()})
if err := app.Get("/ping", http.HandlerFunc(
func(w http.ResponseWriter, r *http.Request) {
if err := contract.WriteResponse(w, r,
http.StatusOK,
map[string]string{"status": "ok"}, nil); err != nil {
log.Printf("write: %v", err)
}
})); err != nil {
log.Fatal(err)
}
if err := app.Prepare(); err != nil {
log.Fatal(err)
}
srv, err := app.Server()
if err != nil {
log.Fatal(err)
}
log.Println("listening on :8080")
srv.ListenAndServe()
}