package main import ( "github.com/jonasi/mohttp" "github.com/jonasi/mohttp/hateoas" "github.com/jonasi/project/server/api" "github.com/shirou/gopsutil/cpu" "github.com/shirou/gopsutil/load" "github.com/shirou/gopsutil/process" "golang.org/x/net/context" ) var apiService = hateoas.NewService( hateoas.ServiceUse(api.JSON), hateoas.AddResource(root, cpuRsc, loadRsc, procRsc), ) var root = hateoas.NewResource( hateoas.Path("/"), hateoas.AddLink("cpus", cpuRsc), hateoas.AddLink("load", loadRsc), hateoas.AddLink("processes", procRsc), hateoas.HEAD(mohttp.EmptyBodyHandler), ) var cpuRsc = hateoas.NewResource( hateoas.Path("/cpus"), hateoas.GET(mohttp.DataHandlerFunc(func(c context.Context) (interface{}, error) { return cpu.CPUInfo() })), )
"github.com/jonasi/mohttp" "github.com/jonasi/mohttp/hateoas" "github.com/jonasi/mohttp/middleware" "github.com/jonasi/project/server/api" "golang.org/x/net/context" ) var setSrv, getSrv = mohttp.ContextValueAccessors("github.com/jonasi/project/server.Server") func getServer(c context.Context) *Server { return getSrv(c).(*Server) } var apiService = hateoas.NewService( hateoas.AddResource(root, version, status, plugins), hateoas.ServiceUse(api.JSON, api.AddLinkHeaders), ) var root = hateoas.NewResource( hateoas.Path("/"), hateoas.AddLink("version", version), hateoas.AddLink("status", status), hateoas.AddLink("plugins", plugins), hateoas.HEAD(mohttp.EmptyBodyHandler), ) var version = hateoas.NewResource( hateoas.Path("/version"), hateoas.GET(mohttp.StaticDataHandler(Version)), )