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 reqAddr
local logReq = true local logReq = true
local payload local payload
if not In.Params and In.Params.url or not In.Params.payload then log.debug(session.request.params)
Out.Error = {
if not (session.request.params and session.request.params.url) then
session.response.error = {
code = -32602, code = -32602,
message = "no url or payload provided" message = "no url or payload provided"
} }
return return
end 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 if resp then
Out.Result.answer = { session.response.result.answer = {
status = resp.status, status = resp.status,
body = resp.body body = resp.body
} }
return return
end end
Out.Result.answer = { session.response.error = {
status = resp.status 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 { for name, logFunc := range logFuncs {
fun := logFunc fun := logFunc
lL.SetField(logMod, name, lL.NewFunction(func(lL *lua.LState) int { lL.SetField(logMod, name, lL.NewFunction(func(lL *lua.LState) int {
msg := lL.ToString(1) msg := lL.Get(1)
fun(fmt.Sprintf("the script says: %s", msg), slog.String("script", path)) converted := ConvertLuaTypesToGolang(msg)
fun(fmt.Sprintf("the script says: %s", converted), slog.String("script", path))
return 0 return 0
})) }))
} }
lL.SetField(logMod, "event", lL.NewFunction(func(lL *lua.LState) int { for _, fn := range []struct {
msg := lL.ToString(1) field string
h.x.Log.Printf("%s: %s", path, msg) pfunc func(string, ...any)
return 0 color func() string
})) }{
{"event", h.x.Log.Printf, nil},
lL.SetField(logMod, "event_error", lL.NewFunction(func(lL *lua.LState) int { {"event_error", h.x.Log.Printf, colors.PrintError},
msg := lL.ToString(1) {"event_warn", h.x.Log.Printf, colors.PrintWarn},
h.x.Log.Printf("%s: %s: %s", colors.PrintError(), path, msg) } {
return 0 lL.SetField(logMod, fn.field, lL.NewFunction(func(lL *lua.LState) int {
})) msg := lL.Get(1)
converted := ConvertLuaTypesToGolang(msg)
lL.SetField(logMod, "event_warn", lL.NewFunction(func(lL *lua.LState) int { if fn.color != nil {
msg := lL.ToString(1) h.x.Log.Printf("%s: %s: %s", fn.color(), path, converted)
h.x.Log.Printf("%s: %s: %s", colors.PrintWarn(), path, msg) } else {
return 0 h.x.Log.Printf("%s: %s", path, converted)
})) }
return 0
}))
}
lL.Push(logMod) lL.Push(logMod)
lL.SetField(logMod, "__gosally_internal", lua.LString(fmt.Sprint(seed))) lL.SetField(logMod, "__gosally_internal", lua.LString(fmt.Sprint(seed)))