我想在API之前检查所有入口数据中的某些字符。 我签入了中间件,但它使API变慢。 我的意思是:
1个客户端发送请求=> 2 NGINX => 3个Kestrel => 4个中间件=> 5个代码
我想在代码之前检入步骤。我使用.net core 2.2
谢谢
答案 0 :(得分:0)
我想检查请求正文以删除多余的空间并检查波斯字符。 我是用Lua做到这一点的,我跟NGINX称呼它。
local string_format = string.format
ngx.req.read_body()
local body = ngx.req.get_body_data() or ""
-- Replace 'Ye' and 'Kaf' arabic char with persian
body = ngx.re.gsub(body, "ي", "ی") -- remove id and name
body = ngx.re.gsub(body, "ك", "ک") -- remove id and name
-- Remove useless space
body = ngx.re.gsub(body, " ", " ") -- remove id and name
body = ngx.re.gsub(body, '" ', '"') -- remove id and name
body = ngx.re.gsub(body, ' "', '"') -- remove id and name
ngx.req.set_body_data(body)
在上面,我检查正文并用适当的数据替换它,然后再次设置正文。
希望对其他人有帮助。