Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"http.go",
"share.go",
],
importpath = "go-common/app/service/main/share/server/http",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/share/conf:go_default_library",
"//app/service/main/share/model:go_default_library",
"//app/service/main/share/service:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/http/blademaster:go_default_library",
"//library/net/http/blademaster/middleware/verify:go_default_library",
"//library/net/metadata:go_default_library",
"//library/xstr: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"],
)

View File

@@ -0,0 +1,50 @@
package http
import (
"net/http"
"go-common/app/service/main/share/conf"
"go-common/app/service/main/share/service"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/middleware/verify"
)
var (
svr *service.Service
verifySvc *verify.Verify
)
// Init init http router.
func Init(c *conf.Config, s *service.Service) {
svr = s
verifySvc = verify.New(c.Verify)
engine := bm.DefaultServer(c.BM)
route(engine)
if err := engine.Start(); err != nil {
log.Error("engine.Start error(%v)", err)
panic(err)
}
}
func route(e *bm.Engine) {
e.Ping(ping)
e.Register(register)
group := e.Group("/x/internal/share")
{
group.POST("/add", verifySvc.Verify, add)
group.GET("/stat", verifySvc.Verify, stat)
group.GET("/stats", verifySvc.Verify, stats)
}
}
func ping(c *bm.Context) {
if err := svr.Ping(); err != nil {
log.Error("share-service ping error(%v)", err)
c.AbortWithStatus(http.StatusServiceUnavailable)
}
}
func register(c *bm.Context) {
c.JSON(nil, nil)
}

View File

@@ -0,0 +1,60 @@
package http
import (
"strconv"
"go-common/app/service/main/share/model"
"go-common/library/ecode"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/metadata"
"go-common/library/xstr"
)
func add(ctx *bm.Context) {
p := &model.ShareParams{}
if err := ctx.Bind(p); err != nil {
return
}
p.IP = metadata.String(ctx, metadata.RemoteIP)
ctx.JSON(svr.Add(ctx, p))
}
func stat(ctx *bm.Context) {
var (
oid int64
tp int64
err error
)
params := ctx.Request.Form
oidStr := params.Get("oid")
if oid, err = strconv.ParseInt(oidStr, 10, 64); err != nil || oid <= 0 {
ctx.JSON(nil, ecode.RequestErr)
return
}
tpStr := params.Get("tp")
if tp, err = strconv.ParseInt(tpStr, 10, 64); err != nil || tp <= 0 {
ctx.JSON(nil, ecode.RequestErr)
return
}
ctx.JSON(svr.Stat(ctx, oid, int(tp)))
}
func stats(ctx *bm.Context) {
var (
oids []int64
tp int64
err error
)
params := ctx.Request.Form
oidsStr := params.Get("oids")
if oids, err = xstr.SplitInts(oidsStr); err != nil || len(oids) == 0 || len(oids) > 30 {
ctx.JSON(nil, ecode.RequestErr)
return
}
tpStr := params.Get("tp")
if tp, err = strconv.ParseInt(tpStr, 10, 64); err != nil || tp <= 0 {
ctx.JSON(nil, ecode.RequestErr)
return
}
ctx.JSON(svr.Stats(ctx, oids, int(tp)))
}