Compare commits

...

2 Commits

Author SHA1 Message Date
e7289dc9be update post example 2025-08-02 11:50:19 +03:00
5394178abc update lua logging 2025-08-02 11:50:09 +03:00
2 changed files with 39 additions and 27 deletions

View File

@@ -1,27 +1,35 @@
local session = require("session")
local net = require("net")
local log = require("log")
local reqAddr
local logReq = true
local payload
if not In.Params and In.Params.url or not In.Params.payload then
Out.Error = {
log.debug(session.request.params)
if not (session.request.params and session.request.params.url) then
session.response.error = {
code = -32602,
message = "no url or payload provided"
}
return
end
reqAddr = In.Params.url
payload = In.Params.payload
local resp = Net.Http.Post(logReq, reqAddr, "application/json", payload)
reqAddr = session.request.params.url
payload = session.request.params.payload
local resp = net.http.post_request(logReq, reqAddr, "application/json", payload)
if resp then
Out.Result.answer = {
session.response.result.answer = {
status = resp.status,
body = resp.body
}
return
end
Out.Result.answer = {
status = resp.status
session.response.error = {
data = "error while requesting"
}

View File

@@ -82,29 +82,33 @@ func (h *HandlerV1) handleLUA(sid string, r *http.Request, req *rpc.RPCRequest,
for name, logFunc := range logFuncs {
fun := logFunc
lL.SetField(logMod, name, lL.NewFunction(func(lL *lua.LState) int {
msg := lL.ToString(1)
fun(fmt.Sprintf("the script says: %s", msg), slog.String("script", path))
msg := lL.Get(1)
converted := ConvertLuaTypesToGolang(msg)
fun(fmt.Sprintf("the script says: %s", converted), slog.String("script", path))
return 0
}))
}
lL.SetField(logMod, "event", lL.NewFunction(func(lL *lua.LState) int {
msg := lL.ToString(1)
h.x.Log.Printf("%s: %s", path, msg)
return 0
}))
lL.SetField(logMod, "event_error", lL.NewFunction(func(lL *lua.LState) int {
msg := lL.ToString(1)
h.x.Log.Printf("%s: %s: %s", colors.PrintError(), path, msg)
return 0
}))
lL.SetField(logMod, "event_warn", lL.NewFunction(func(lL *lua.LState) int {
msg := lL.ToString(1)
h.x.Log.Printf("%s: %s: %s", colors.PrintWarn(), path, msg)
return 0
}))
for _, fn := range []struct {
field string
pfunc func(string, ...any)
color func() string
}{
{"event", h.x.Log.Printf, nil},
{"event_error", h.x.Log.Printf, colors.PrintError},
{"event_warn", h.x.Log.Printf, colors.PrintWarn},
} {
lL.SetField(logMod, fn.field, lL.NewFunction(func(lL *lua.LState) int {
msg := lL.Get(1)
converted := ConvertLuaTypesToGolang(msg)
if fn.color != nil {
h.x.Log.Printf("%s: %s: %s", fn.color(), path, converted)
} else {
h.x.Log.Printf("%s: %s", path, converted)
}
return 0
}))
}
lL.Push(logMod)
lL.SetField(logMod, "__gosally_internal", lua.LString(fmt.Sprint(seed)))