【问题标题】:Lua script for krakendkrakend 的 Lua 脚本
【发布时间】:2022-11-14 20:36:30
【问题描述】:

我编写了一个简单的 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

目前打印正文工作正常,我可以看到所有的 json 响应。但是在我的邮递员请求中,我看到一个空的正文响应。 我只使用 Lua 函数来检查正文响应是否包含字符串“error”

我的主要问题是为什么在日志上我可以在邮递员中看到身体反应,而不是我的身体是空的?

【问题讨论】:

  • 你的问题是什么?你不知道如何检查一个字符串是否包含错误这个词吗?
  • 不。我的问题是为什么在日志上我可以看到身体响应而不是邮递员我的身体是空的?感谢我编辑了我的主要请求的问题
  • 您的函数按预期在控制台上打印内容,但您没有使用任何设置器来更改响应正文。

标签: lua krakend


【解决方案1】:

我也有类似的问题,请问有这方面的指导吗?

【讨论】:

    猜你喜欢
    • 2017-01-20
    • 2016-09-06
    • 2016-03-05
    • 1970-01-01
    • 2018-11-20
    • 2021-02-01
    • 2019-11-07
    • 2021-10-09
    • 2010-11-19
    相关资源
    最近更新 更多