Initial commit

Initial public review release v0.10.0
This commit is contained in:
alexvanin 2020-07-10 17:17:51 +03:00 committed by Stanislav Bogatyrev
commit dadfd90dcd
276 changed files with 46331 additions and 0 deletions

49
modules/network/http.go Normal file
View file

@ -0,0 +1,49 @@
package network
import (
"github.com/fasthttp/router"
svc "github.com/nspcc-dev/neofs-node/modules/bootstrap"
"github.com/valyala/fasthttp"
"go.uber.org/dig"
)
type (
handlerParams struct {
dig.In
Healthy svc.HealthyClient
}
)
const (
healthyState = "NeoFS node is "
defaultContentType = "text/plain; charset=utf-8"
)
func newHTTPHandler(p handlerParams) (fasthttp.RequestHandler, error) {
r := router.New()
r.RedirectTrailingSlash = true
r.GET("/-/ready/", func(c *fasthttp.RequestCtx) {
c.SetStatusCode(fasthttp.StatusOK)
c.SetBodyString(healthyState + "ready")
})
r.GET("/-/healthy/", func(c *fasthttp.RequestCtx) {
code := fasthttp.StatusOK
msg := "healthy"
err := p.Healthy.Healthy()
if err != nil {
code = fasthttp.StatusBadRequest
msg = "unhealthy: " + err.Error()
}
c.Response.Reset()
c.SetStatusCode(code)
c.SetContentType(defaultContentType)
c.SetBodyString(healthyState + msg)
})
return r.Handler, nil
}