Create & Init Project...
This commit is contained in:
35
app/service/bbq/cms/internal/server/http/BUILD
Normal file
35
app/service/bbq/cms/internal/server/http/BUILD
Normal file
@ -0,0 +1,35 @@
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
load(
|
||||
"@io_bazel_rules_go//go:def.bzl",
|
||||
"go_library",
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["http.go"],
|
||||
importpath = "go-common/app/service/bbq/cms/internal/server/http",
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//app/service/bbq/cms/internal/service:go_default_library",
|
||||
"//library/conf/paladin:go_default_library",
|
||||
"//library/log:go_default_library",
|
||||
"//library/net/http/blademaster:go_default_library",
|
||||
"//library/net/http/blademaster/middleware/verify:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "package-srcs",
|
||||
srcs = glob(["**"]),
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all-srcs",
|
||||
srcs = [":package-srcs"],
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
61
app/service/bbq/cms/internal/server/http/http.go
Normal file
61
app/service/bbq/cms/internal/server/http/http.go
Normal file
@ -0,0 +1,61 @@
|
||||
package http
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"go-common/app/service/bbq/cms/internal/service"
|
||||
"go-common/library/conf/paladin"
|
||||
"go-common/library/log"
|
||||
bm "go-common/library/net/http/blademaster"
|
||||
"go-common/library/net/http/blademaster/middleware/verify"
|
||||
)
|
||||
|
||||
var (
|
||||
svc *service.Service
|
||||
)
|
||||
|
||||
// New new a bm server.
|
||||
func New(s *service.Service) (engine *bm.Engine) {
|
||||
var(
|
||||
hc struct {
|
||||
Server *bm.ServerConfig
|
||||
}
|
||||
)
|
||||
if err := paladin.Get("http.toml").UnmarshalTOML(&hc); err != nil {
|
||||
if err != paladin.ErrNotExist {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
svc = s
|
||||
engine = bm.DefaultServer(hc.Server)
|
||||
initRouter(engine, verify.New(nil))
|
||||
if err := engine.Start(); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func initRouter(e *bm.Engine, v *verify.Verify) {
|
||||
e.Ping(ping)
|
||||
e.Register(register)
|
||||
g := e.Group("/x/cms")
|
||||
{
|
||||
g.GET("/start", v.Verify, howToStart)
|
||||
}
|
||||
}
|
||||
|
||||
func ping(ctx *bm.Context) {
|
||||
if err := svc.Ping(ctx); err != nil {
|
||||
log.Error("ping error(%v)", err)
|
||||
ctx.AbortWithStatus(http.StatusServiceUnavailable)
|
||||
}
|
||||
}
|
||||
|
||||
func register(c *bm.Context) {
|
||||
c.JSON(map[string]interface{}{}, nil)
|
||||
}
|
||||
|
||||
// example for http request handler.
|
||||
func howToStart(c *bm.Context) {
|
||||
c.String(0, "Golang 大法好 !!!")
|
||||
}
|
Reference in New Issue
Block a user