mirror of
https://gitee.com/johng/gf
synced 2026-06-22 00:03:35 +08:00
78 lines
1.6 KiB
Go
78 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
"github.com/gogf/gf/contrib/trace/jaeger/v2"
|
|
"github.com/gogf/gf/v2/database/gdb"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/net/ghttp"
|
|
"github.com/gogf/gf/v2/net/gtrace"
|
|
"github.com/gogf/gf/v2/os/gctx"
|
|
)
|
|
|
|
const (
|
|
ServiceName = "http-client-with-db"
|
|
JaegerUdpEndpoint = "localhost:6831"
|
|
)
|
|
|
|
func main() {
|
|
var ctx = gctx.New()
|
|
tp, err := jaeger.Init(ServiceName, JaegerUdpEndpoint)
|
|
if err != nil {
|
|
g.Log().Fatal(ctx, err)
|
|
}
|
|
defer tp.Shutdown(ctx)
|
|
|
|
StartRequests()
|
|
}
|
|
|
|
func StartRequests() {
|
|
ctx, span := gtrace.NewSpan(gctx.New(), "StartRequests")
|
|
defer span.End()
|
|
|
|
var (
|
|
err error
|
|
client = g.Client()
|
|
)
|
|
// Add user info.
|
|
var insertRes = struct {
|
|
ghttp.DefaultHandlerResponse
|
|
Data struct{ Id int64 } `json:"data"`
|
|
}{}
|
|
err = client.PostVar(ctx, "http://127.0.0.1:8199/user/insert", g.Map{
|
|
"name": "john",
|
|
}).Scan(&insertRes)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
g.Log().Info(ctx, "insert result:", insertRes)
|
|
if insertRes.Data.Id == 0 {
|
|
g.Log().Error(ctx, "retrieve empty id string")
|
|
return
|
|
}
|
|
|
|
// Query user info.
|
|
var queryRes = struct {
|
|
ghttp.DefaultHandlerResponse
|
|
Data struct{ User gdb.Record } `json:"data"`
|
|
}{}
|
|
err = client.GetVar(ctx, "http://127.0.0.1:8199/user/query", g.Map{
|
|
"id": insertRes.Data.Id,
|
|
}).Scan(&queryRes)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
g.Log().Info(ctx, "query result:", queryRes)
|
|
|
|
// Delete user info.
|
|
var deleteRes = struct {
|
|
ghttp.DefaultHandlerResponse
|
|
}{}
|
|
err = client.PostVar(ctx, "http://127.0.0.1:8199/user/delete", g.Map{
|
|
"id": insertRes.Data.Id,
|
|
}).Scan(&deleteRes)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
g.Log().Info(ctx, "delete result:", deleteRes)
|
|
}
|