|
@@ -12,6 +12,7 @@ import (
|
|
|
mL0 "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
|
|
mL0 "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
|
|
|
mKs "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
|
|
mKs "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
|
|
|
|
|
+ "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec"
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev0/etypes/ebool"
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev0/etypes/ebool"
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
|
|
|
mL1 "gitp78su.ipnodns.ru/svi/kern/v4/lev1"
|
|
mL1 "gitp78su.ipnodns.ru/svi/kern/v4/lev1"
|
|
@@ -40,14 +41,15 @@ type ClientBusHttp struct {
|
|
|
func NewClientBusHttp(urlRemote defs.ITxtFix) bus_spec.IBusClient {
|
|
func NewClientBusHttp(urlRemote defs.ITxtFix) bus_spec.IBusClient {
|
|
|
param := &log_buf.LogBufParam{
|
|
param := &log_buf.LogBufParam{
|
|
|
IsTerm_: safe_bool.NewSafeBool(true),
|
|
IsTerm_: safe_bool.NewSafeBool(true),
|
|
|
- Prefix_: defs.Txt("ClientBusHttp"),
|
|
|
|
|
|
|
+ Prefix_: defs.TxtFix("ClientBusHttp"),
|
|
|
}
|
|
}
|
|
|
log := mL1.NewLogBuf(param)
|
|
log := mL1.NewLogBuf(param)
|
|
|
- log.Debug(defs.Txt("NewClientBusHttp()"))
|
|
|
|
|
|
|
+ log.Debug(defs.TxtFix("NewClientBusHttp()"))
|
|
|
helpers.Hassert(urlRemote != nil, "NewClientBusHttp(): urlRemote is empty", []any{})
|
|
helpers.Hassert(urlRemote != nil, "NewClientBusHttp(): urlRemote is empty", []any{})
|
|
|
kCtx := kctx.GetKernelCtx()
|
|
kCtx := kctx.GetKernelCtx()
|
|
|
- resLocal := safe_string.NewSafeStringGetenv(defs.Txt("LOCAL_HTTP_URL"))
|
|
|
|
|
- resLocal.Hassert(defs.Txt("NewClientBusHttp(): in get env LOCAL_HTTP_URL)"))
|
|
|
|
|
|
|
+ resLocal := safe_string.NewSafeStringGetenv(
|
|
|
|
|
+ defs.TxtFix("LOCAL_HTTP_URL"))
|
|
|
|
|
+ resLocal.Hassert("NewClientBusHttp(): in get env LOCAL_HTTP_URL)")
|
|
|
urlLocal := resLocal.Ok()
|
|
urlLocal := resLocal.Ok()
|
|
|
kBusHttp := kbus_http.GetKernelBusHttp()
|
|
kBusHttp := kbus_http.GetKernelBusHttp()
|
|
|
sf := &ClientBusHttp{
|
|
sf := &ClientBusHttp{
|
|
@@ -68,7 +70,7 @@ func (sf *ClientBusHttp) Unsubscribe(handler bus_spec.IBusHandlerSubscribe) {
|
|
|
|
|
|
|
|
req := &dot.UnsubReq{
|
|
req := &dot.UnsubReq{
|
|
|
HandlerName_: handler.Name().Get(),
|
|
HandlerName_: handler.Name().Get(),
|
|
|
- Uuid_: defs.Txt(_uuid.String()),
|
|
|
|
|
|
|
+ Uuid_: defs.TxtFix(_uuid.String()),
|
|
|
}
|
|
}
|
|
|
req.SelfCheck()
|
|
req.SelfCheck()
|
|
|
binReq, err := json.MarshalIndent(req, "", " ")
|
|
binReq, err := json.MarshalIndent(req, "", " ")
|
|
@@ -101,18 +103,18 @@ func (sf *ClientBusHttp) Unsubscribe(handler bus_spec.IBusHandlerSubscribe) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Subscribe -- подписывается на топик в дистанционной шине.
|
|
// Subscribe -- подписывается на топик в дистанционной шине.
|
|
|
-func (sf *ClientBusHttp) Subscribe(handler bus_spec.IBusHandlerSubscribe) mKs.IResult[mKs.EBool] {
|
|
|
|
|
|
|
+func (sf *ClientBusHttp) Subscribe(handler bus_spec.IBusHandlerSubscribe) def_spec.IResult[mKs.EBool] {
|
|
|
_uuid, err := uuid.NewV6()
|
|
_uuid, err := uuid.NewV6()
|
|
|
helpers.Hassert(err == nil, "ClientBusHttp.Subscribe(): in generate UUID v6, err=\n\t%v", []any{err})
|
|
helpers.Hassert(err == nil, "ClientBusHttp.Subscribe(): in generate UUID v6, err=\n\t%v", []any{err})
|
|
|
req := &dot.SubscribeReq{
|
|
req := &dot.SubscribeReq{
|
|
|
Topic_: handler.Topic().Get(),
|
|
Topic_: handler.Topic().Get(),
|
|
|
- Uuid_: defs.Txt(_uuid.String()),
|
|
|
|
|
- WebHook_: defs.Txt("%v%v", sf.urlLocal.String()+"/bus/pub"), // Веб-хук всегда на своей стороне
|
|
|
|
|
|
|
+ Uuid_: defs.TxtFix(_uuid.String()),
|
|
|
|
|
+ WebHook_: defs.TxtFix("%v%v", sf.urlLocal.String()+"/bus/pub"), // Веб-хук всегда на своей стороне
|
|
|
}
|
|
}
|
|
|
req.SelfCheck()
|
|
req.SelfCheck()
|
|
|
binReq, _ := json.MarshalIndent(req, "", " ")
|
|
binReq, _ := json.MarshalIndent(req, "", " ")
|
|
|
body := strings.NewReader(string(binReq))
|
|
body := strings.NewReader(string(binReq))
|
|
|
- endPoint := defs.Txt("%v%v", sf.urlLocal.String()+"/bus/sub")
|
|
|
|
|
|
|
+ endPoint := defs.TxtFix("%v%v", sf.urlLocal.String()+"/bus/sub")
|
|
|
hReq, err := http.NewRequest(http.MethodPost, endPoint.String(), body)
|
|
hReq, err := http.NewRequest(http.MethodPost, endPoint.String(), body)
|
|
|
helpers.Hassert(err != nil, "ClientBusHttp.Subscribe(): in new request, err=\n\t%v", []any{})
|
|
helpers.Hassert(err != nil, "ClientBusHttp.Subscribe(): in new request, err=\n\t%v", []any{})
|
|
|
|
|
|
|
@@ -145,13 +147,13 @@ func (sf *ClientBusHttp) SendRequest(topic bus_ent.ITopicFix, binReq []byte) mL0
|
|
|
mL1.FnHassert(helpers.Hassert)(err == nil, "ClientBusHttp.SendRequest(): in generate UUID v6, err=\n\t%v", err)
|
|
mL1.FnHassert(helpers.Hassert)(err == nil, "ClientBusHttp.SendRequest(): in generate UUID v6, err=\n\t%v", err)
|
|
|
req := &dot.ServeReq{
|
|
req := &dot.ServeReq{
|
|
|
Topic_: topic.Get(),
|
|
Topic_: topic.Get(),
|
|
|
- Uuid_: defs.Txt(_uuid.String()),
|
|
|
|
|
|
|
+ Uuid_: defs.TxtFix(_uuid.String()),
|
|
|
BinReq_: binReq,
|
|
BinReq_: binReq,
|
|
|
}
|
|
}
|
|
|
req.SelfCheck()
|
|
req.SelfCheck()
|
|
|
_binReq, _ := json.MarshalIndent(req, "", " ")
|
|
_binReq, _ := json.MarshalIndent(req, "", " ")
|
|
|
body := strings.NewReader(string(_binReq))
|
|
body := strings.NewReader(string(_binReq))
|
|
|
- endPont := defs.Txt("%v%v", sf.urlRemote.String(), "/bus/request")
|
|
|
|
|
|
|
+ endPont := defs.TxtFix("%v%v", sf.urlRemote.String(), "/bus/request")
|
|
|
hReq, err := http.NewRequest(http.MethodPost, endPont.String(), body)
|
|
hReq, err := http.NewRequest(http.MethodPost, endPont.String(), body)
|
|
|
mL1.FnHassert(helpers.Hassert)(err == nil, "ClientBusHttp.SendRequest(): in new request, err=\n\t%v")
|
|
mL1.FnHassert(helpers.Hassert)(err == nil, "ClientBusHttp.SendRequest(): in new request, err=\n\t%v")
|
|
|
|
|
|
|
@@ -197,13 +199,13 @@ func (sf *ClientBusHttp) Publish(topic bus_ent.ITopicFix, binMsg []byte) mL0.IRe
|
|
|
mL1.FnHassert(helpers.Hassert)(err == nil, "ClientBusHttp.Publish(): in generate UUID v6, err=\n\t%v", err)
|
|
mL1.FnHassert(helpers.Hassert)(err == nil, "ClientBusHttp.Publish(): in generate UUID v6, err=\n\t%v", err)
|
|
|
req := &dot.PublishReq{
|
|
req := &dot.PublishReq{
|
|
|
Topic_: topic.Get(),
|
|
Topic_: topic.Get(),
|
|
|
- Uuid_: defs.Txt(_uuid.String()),
|
|
|
|
|
|
|
+ Uuid_: defs.TxtFix(_uuid.String()),
|
|
|
BinMsg_: binMsg,
|
|
BinMsg_: binMsg,
|
|
|
}
|
|
}
|
|
|
req.SelfCheck()
|
|
req.SelfCheck()
|
|
|
binReq, _ := json.MarshalIndent(req, "", " ")
|
|
binReq, _ := json.MarshalIndent(req, "", " ")
|
|
|
body := strings.NewReader(string(binReq))
|
|
body := strings.NewReader(string(binReq))
|
|
|
- endPoint := defs.Txt("%v%v", sf.urlRemote.Get(), "/bus/pub")
|
|
|
|
|
|
|
+ endPoint := defs.TxtFix("%v%v", sf.urlRemote.Get(), "/bus/pub")
|
|
|
hReq, err := http.NewRequest(http.MethodPost, endPoint.String(), body)
|
|
hReq, err := http.NewRequest(http.MethodPost, endPoint.String(), body)
|
|
|
mL1.FnHassert(helpers.Hassert)(err == nil, "ClientBusHttp.Publish(): in new request, err=\n\t%v")
|
|
mL1.FnHassert(helpers.Hassert)(err == nil, "ClientBusHttp.Publish(): in new request, err=\n\t%v")
|
|
|
|
|
|
|
@@ -230,7 +232,7 @@ func (sf *ClientBusHttp) Publish(topic bus_ent.ITopicFix, binMsg []byte) mL0.IRe
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Единый обработчик запросов.
|
|
// Единый обработчик запросов.
|
|
|
-func (sf *ClientBusHttp) makePost(hReq *http.Request) mKs.IResult[[]byte] {
|
|
|
|
|
|
|
+func (sf *ClientBusHttp) makePost(hReq *http.Request) def_spec.IResult[[]byte] {
|
|
|
hReq.Header.Add("Content-Type", "application/json")
|
|
hReq.Header.Add("Content-Type", "application/json")
|
|
|
_resp, err := http.DefaultClient.Do(hReq)
|
|
_resp, err := http.DefaultClient.Do(hReq)
|
|
|
if err != nil {
|
|
if err != nil {
|