diff --git a/src/core/interceptormanager.cpp b/src/core/interceptormanager.cpp index d6be49c..2659c64 100644 --- a/src/core/interceptormanager.cpp +++ b/src/core/interceptormanager.cpp @@ -47,16 +47,10 @@ bool interceptor_manager::callback(network::http::reqpack* reqpack, const std::s module::request m_request(reqpack->request()); module::response m_response(reqpack->response()); - lbResult(); - (*lua->state)["response"] = m_response; (*lua->state)["request"] = m_request; - auto result = (*lua->state)["access"](); - if (!result.valid()) { - sol::error err = result; - throw ylib::exception(err.what()); - } + auto result = lbResult(); ok_continue = result.get(); } catch (const std::exception& e) diff --git a/www/api/lib/interceptor.lua b/www/api/lib/interceptor.lua index 7670431..9dec263 100644 --- a/www/api/lib/interceptor.lua +++ b/www/api/lib/interceptor.lua @@ -1,18 +1,17 @@ require "website" -function access() - if string.sub(request:filepath(),1,12) == "/api/public/" then - --公共开放接口 - return true - elseif string.sub(request:filepath(),1,11) == "/api/admin/" then - --管理员目录,需要验证权限 - print(param("key"),"\t") - if param("key") == nil or param("key") ~= "123456" then - response:send("key不正确") - return false - end - return true - else - response:send("仅允许访问 /api/public 和 /api/admin 目录") + +if string.sub(request:filepath(),1,12) == "/api/public/" then + --公共开放接口 + return true +elseif string.sub(request:filepath(),1,11) == "/api/admin/" then + --管理员目录,需要验证权限 + print(param("key"),"\t") + if param("key") == nil or param("key") ~= "123456" then + response:send("key不正确") return false end -end \ No newline at end of file + return true +else + response:send("仅允许访问 /api/public 和 /api/admin 目录") + return false +end