]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
lua: set_extended_error() func for kr_request
authorTomas Krizek <tomas.krizek@nic.cz>
Fri, 17 Dec 2021 16:03:28 +0000 (17:03 +0100)
committerTomas Krizek <tomas.krizek@nic.cz>
Tue, 21 Dec 2021 14:02:09 +0000 (15:02 +0100)
Add a utility function for simpler lua API when setting extended errors.

daemon/lua/kres.lua

index 6a2c00e1aa3894836b4588f19d56239c3347b078..7a00d232d3ef19c5caac22e8f7eaa9811baf3f8a 100644 (file)
@@ -5,6 +5,7 @@
 
 local kres -- the module
 
+local kluautil = require('kluautil')
 local ffi = require('ffi')
 local bit = require('bit')
 local bor = bit.bor
@@ -861,6 +862,11 @@ ffi.metatype( kr_request_t, {
                        end
                        return table.concat(buf, '')
                end,
+               set_extended_error = function(req, code, msg)
+                       assert(ffi.istype(kr_request_t, req))
+                       msg = kluautil.kr_string2c(msg, req.pool)
+                       ffi.C.kr_request_set_extended_error(req, code, msg)
+               end,
 
                -- chain new callbacks after the old ones
                -- creates new wrapper functions as necessary