添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

一、pre-plugins和post-plugins概念介绍

两个插件都可以在路由、service中进行配置

-- 获取请求地址 local original_uri = kong.request.get_path() -- 将/test2前缀去除,此处使用正则匹配,“-”需要被 “%” 转义 local new_uri = original_uri:gsub("^/test%-2/", "/") -- 设置新的URI kong.service.request.set_path(new_uri) kong.service.request.add_header("ThisIsAHeader", "ThisIsHeaderValue") -- 清除上一行设置的header头 "ThisIsAHeader" kong.service.request.clear_header("ThisIsAHeader")

在function中拆分字符串,在日志中获取debug输出

return function()
  -- 请求路由为: /test/route-1/
  local original_uri = kong.request.get_path()
  local result = {}
  local from = 1
  local delim_from, delim_to = string.find(original_uri, "/", from)
  while delim_from do
    table.insert(result, string.sub(original_uri, from, delim_from - 1))
    from = delim_to + 1
    delim_from, delim_to = string.find(original_uri, "/", from)
  table.insert(result, string.sub(original_uri, from))
  local parts = result
  -- 下列语句的日志输出在/usr/local/kong/logs/的日志文件中可以看到
  ngx.log(ngx.ERR, "parts[3] is :  ", parts[3])
  if parts[3] == "sdk-jd" then
    kong.service.request.add_header("test-header", "test-headervalue")
    local new_uri = original_uri:gsub("^/test/route%-1/", "/")
    kong.service.request.set_path(new_uri)
    kong.service.request.set_path("/path-unknown")

遍历数组中的元素

-- 遍历数组中的元素
local fruits = {"Apple", "Banana", "Cherry"}
for i = 1, #fruits do
    print(fruits[i])

for循环

-- 使用for i模式
--   起始,次数,步长
for i =0, 10, 1 do
  print(i)

nil判断

local myVar = nil
if not myVar then
    print("myVar is nil or false")
    print("myVar has a value")

三、路由匹配规则(路径长度匹配低于正则匹配的优先级)

如果给定请求的规则数在两个路由AB相同,则将按照列出的顺序应用以下规则进行决胜。如果满足以下条件,A将优先选择路由B

在当今人工智能蓬勃发展的时代,自然语言处理(NLP)领域不断涌现出各种创新成果。DeepSeek R1作为一款备受瞩目的模型,其在NLP领域的表现引起了广泛的关注。 它是否能够在众…

2025年2月18日 8110

在当今信息爆炸的时代,准确快速地获取所需信息成为了一项挑战。RAG(Retrieval-Augmented Generation)模型的出现,为这一挑战提供了一个创新的解决方案。本…

2024年5月25日 7.2K0