使用 Lua 脚本配置 Krakend
2022-2-11 14:26:52
收藏:0
 阅读:672
 评论:0
我编写了一个简单的 Krakend.json 配置来配置我的终端点。该配置调用了一个 Lua 脚本,目前它只打印出响应体。
{
      "version": 2,
      "extra_config": {
        "github_com/devopsfaith/krakend-gologging": {
          "level":  "DEBUG",
          "prefix": "[KRAKEND]",
          "syslog": false,
          "stdout": true
        },
        "github_com/devopsfaith/krakend-metrics": {
          "collection_time": "60s",
          "proxy_disabled": false,
          "router_disabled": false,
          "backend_disabled": false,
          "endpoint_disabled": false,
          "listen_address": ":8090"
        }
      },
      "timeout": "3000ms",
      "cache_ttl": "300s",
      "output_encoding": "json",
      "name": "myregistrydomain.com",
      "endpoints": [
        {
          "endpoint": "/models/{group-id}",
          "method": "GET",
          "output_encoding": "json",
            "headers_to_pass": [
            "Authorization",
            "Content-Type"
          ],
          "backend": [
            {
              "url_pattern": "myregistrydomain/get-models-by-group/group-id/{group-id}",
              "timeout": "10s",
              "encoding": "no-op",
              "sd": "static",
              "host": ["myregistrydomain"],
              "disable_host_sanitize": "false",
              "extra_config": {
                  "github.com/devopsfaith/krakend/http": {
                      "return_error_details": "backend_models"
                  },
                  "github.com/devopsfaith/krakend-lua/proxy/backend": {
                      "sources": ["file1.lua"],
                      "post": "check(response);",
                      "live": true,
                      "allow_open_libs": true,
                      "skip_next": false
                  }
              }
            }
          ],
          "querystring_params": [
            "{group-id}"
          ]
        }
      ]
    }
Lua 函数如下:
function check(response)
    print("**")
    local r = response.load()
    print(r:body())
end
目前 print body 可以正常工作,我可以看到所有的 JSON 响应。但是在我的 postman 请求中,我看到一个空的响应体。我想仅仅使用 Lua 函数来检查响应体是否包含字符串 “error”。
我的主要问题是为什么日志中可以看到响应体而在 postman 中我的响应体为空?
点赞
 
                评论区的留言会收到邮件通知哦~
            
  
                推荐文章
            
 - 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
 - 如何在roblox studio中1:1导入真实世界的地形?
 - 求解,lua_resume的第二次调用继续执行协程问题。
 - 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
 - SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
 - Lua实现网站后台开发
 - LUA错误显式返回,社区常见的规约是怎么样的
 - lua5.3下载库失败
 - 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
 - lua lanes多线程使用
 - 一个kv数据库
 - openresty 有没有比较轻量的 docker 镜像
 - 想问一下,有大佬用过luacurl吗
 - 在Lua执行过程中使用Load函数出现问题
 - 为什么 neovim 里没有显示一些特殊字符?
 - Lua比较两个表的值(不考虑键的顺序)
 - 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
 - 如何在 Visual Studio 2022 中运行 Lua 代码?
 - addEventListener 返回 nil Lua
 - Lua中获取用户配置主目录的跨平台方法