210 lines
4.4 KiB
Go
210 lines
4.4 KiB
Go
|
package http
|
||
|
|
||
|
import (
|
||
|
"net/http"
|
||
|
"path/filepath"
|
||
|
|
||
|
"go-common/app/admin/ep/melloi/model"
|
||
|
|
||
|
"go-common/library/ecode"
|
||
|
"go-common/library/log"
|
||
|
bm "go-common/library/net/http/blademaster"
|
||
|
"go-common/library/net/http/blademaster/binding"
|
||
|
)
|
||
|
|
||
|
func getProto(c *bm.Context) {
|
||
|
v := new(struct {
|
||
|
Path string `form:"path"`
|
||
|
})
|
||
|
if err := c.Bind(v); err != nil {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
path, fileName := filepath.Split(v.Path)
|
||
|
var (
|
||
|
res = make(map[string]interface{})
|
||
|
err error
|
||
|
)
|
||
|
if res, err = srv.ProtoParsing(path, fileName); err != nil {
|
||
|
log.Error("parser grpc error(%v)", err)
|
||
|
c.JSON(nil, err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
if err = srv.CreateGRPCImportDir(res, path); err != nil {
|
||
|
c.JSON(nil, err)
|
||
|
return
|
||
|
}
|
||
|
c.JSON(res, err)
|
||
|
}
|
||
|
|
||
|
func createDependencyPath(c *bm.Context) {
|
||
|
protoPath := &model.ProtoPathModel{}
|
||
|
|
||
|
if err := c.BindWith(protoPath, binding.JSON); err != nil {
|
||
|
c.JSON(nil, ecode.RequestErr)
|
||
|
return
|
||
|
}
|
||
|
c.JSON(nil, srv.CreateProtoImportDir(protoPath))
|
||
|
}
|
||
|
|
||
|
func grpcQuickStart(c *bm.Context) {
|
||
|
var (
|
||
|
userName *http.Cookie
|
||
|
qsReq = &model.GRPCQuickStartRequest{}
|
||
|
err error
|
||
|
cookie string
|
||
|
)
|
||
|
|
||
|
cookie = c.Request.Header.Get("Cookie")
|
||
|
if err = c.BindWith(qsReq, binding.JSON); err != nil {
|
||
|
c.JSON(nil, err)
|
||
|
return
|
||
|
}
|
||
|
if userName, err = c.Request.Cookie("username"); err != nil {
|
||
|
c.JSON(nil, ecode.AccessKeyErr)
|
||
|
return
|
||
|
}
|
||
|
c.JSON(srv.GRPCQuickStart(c, qsReq, userName.Value, cookie))
|
||
|
}
|
||
|
|
||
|
func saveGrpc(c *bm.Context) {
|
||
|
var (
|
||
|
qsReq = &model.GRPCQuickStartRequest{}
|
||
|
err error
|
||
|
)
|
||
|
|
||
|
if err = c.BindWith(qsReq, binding.JSON); err != nil {
|
||
|
c.JSON(nil, err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
c.JSON(nil, srv.SaveGRPCQuickStart(c, qsReq))
|
||
|
}
|
||
|
|
||
|
func runGrpc(c *bm.Context) {
|
||
|
var (
|
||
|
grpc = model.GRPC{}
|
||
|
err error
|
||
|
userName *http.Cookie
|
||
|
cookie string
|
||
|
)
|
||
|
|
||
|
cookie = c.Request.Header.Get("Cookie")
|
||
|
if err = c.BindWith(&grpc, binding.JSON); nil != err {
|
||
|
c.JSON(nil, err)
|
||
|
return
|
||
|
}
|
||
|
if userName, err = c.Request.Cookie("username"); err != nil {
|
||
|
c.JSON(nil, ecode.AccessKeyErr)
|
||
|
return
|
||
|
}
|
||
|
c.JSON(srv.GRPCRunByModel(c, &grpc, userName.Value, cookie))
|
||
|
}
|
||
|
|
||
|
func runGrpcByScriptId(c *bm.Context) {
|
||
|
var (
|
||
|
userName *http.Cookie
|
||
|
err error
|
||
|
grpcExeReq = &model.GRPCExecuteScriptRequest{}
|
||
|
cookie string
|
||
|
)
|
||
|
|
||
|
cookie = c.Request.Header.Get("Cookie")
|
||
|
if err = c.BindWith(grpcExeReq, binding.JSON); err != nil {
|
||
|
return
|
||
|
}
|
||
|
if userName, err = c.Request.Cookie("username"); err != nil {
|
||
|
c.JSON(nil, ecode.AccessKeyErr)
|
||
|
return
|
||
|
}
|
||
|
c.JSON(srv.GRPCRunByScriptID(c, grpcExeReq, userName.Value, cookie))
|
||
|
}
|
||
|
|
||
|
func grpcAddScript(c *bm.Context) {
|
||
|
grpcReq := model.GRPCAddScriptRequest{}
|
||
|
if err := c.BindWith(&grpcReq, binding.JSON); err != nil {
|
||
|
c.JSON(nil, err)
|
||
|
return
|
||
|
}
|
||
|
c.JSON(srv.GRPCAddScript(c, &grpcReq))
|
||
|
}
|
||
|
|
||
|
func queryGrpc(c *bm.Context) {
|
||
|
qgr := model.QueryGRPCRequest{}
|
||
|
|
||
|
if err := c.BindWith(&qgr, binding.Form); err != nil {
|
||
|
c.JSON(nil, err)
|
||
|
}
|
||
|
if err := qgr.Verify(); err != nil {
|
||
|
c.JSON(nil, err)
|
||
|
return
|
||
|
}
|
||
|
sessionID, err := c.Request.Cookie("_AJSESSIONID")
|
||
|
if err != nil {
|
||
|
c.JSON(nil, err)
|
||
|
return
|
||
|
}
|
||
|
c.JSON(srv.QueryGrpc(c, sessionID.Value, &qgr))
|
||
|
}
|
||
|
|
||
|
func deleteGrpc(c *bm.Context) {
|
||
|
v := new(struct {
|
||
|
ID int `form:"id"`
|
||
|
})
|
||
|
if err := c.Bind(v); err != nil {
|
||
|
c.JSON(nil, ecode.RequestErr)
|
||
|
return
|
||
|
}
|
||
|
c.JSON(nil, srv.DeleteGrpc(v.ID))
|
||
|
}
|
||
|
|
||
|
func updateGrpc(c *bm.Context) {
|
||
|
grpc := model.GRPC{}
|
||
|
if err := c.BindWith(&grpc, binding.JSON); err != nil {
|
||
|
c.JSON(nil, err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
qgr := &model.GRPCAddScriptRequest{}
|
||
|
qgr.ThreadsSum = grpc.ThreadsSum
|
||
|
qgr.RampUp = grpc.RampUp
|
||
|
qgr.Loops = grpc.Loops
|
||
|
qgr.LoadTime = grpc.LoadTime
|
||
|
qgr.HostName = grpc.HostName
|
||
|
qgr.Port = grpc.Port
|
||
|
qgr.ServiceName = grpc.ServiceName
|
||
|
qgr.ProtoClassName = grpc.ProtoClassName
|
||
|
qgr.PkgPath = grpc.PkgPath
|
||
|
qgr.RequestType = grpc.RequestType
|
||
|
qgr.ResponseType = grpc.ResponseType
|
||
|
qgr.ScriptPath = grpc.ScriptPath
|
||
|
qgr.RequestMethod = grpc.RequestMethod
|
||
|
qgr.RequestContent = grpc.RequestContent
|
||
|
qgr.TaskName = grpc.TaskName
|
||
|
qgr.ParamFilePath = grpc.ParamFilePath
|
||
|
qgr.ParamNames = grpc.ParamNames
|
||
|
qgr.ParamDelimiter = grpc.ParamDelimiter
|
||
|
g, err := srv.CreateJmx(c, qgr)
|
||
|
if err != nil {
|
||
|
c.JSON(nil, err)
|
||
|
return
|
||
|
}
|
||
|
grpc.JmxPath = g.JmxPath
|
||
|
grpc.JtlLog = g.JtlLog
|
||
|
grpc.JmxLog = g.JmxLog
|
||
|
|
||
|
c.JSON(nil, srv.UpdateGrpc(&grpc))
|
||
|
}
|
||
|
|
||
|
func queryGrpcSnap(c *bm.Context) {
|
||
|
v := new(struct {
|
||
|
ID int `form:"id"`
|
||
|
})
|
||
|
if err := c.Bind(v); err != nil {
|
||
|
c.JSON(nil, ecode.RequestErr)
|
||
|
return
|
||
|
}
|
||
|
c.JSON(srv.QueryGRPCSnapByID(v.ID))
|
||
|
}
|