2017-02-02 16 views
2

Я пытаюсь создать webhook в nginx, который передаст переменные POST и GET через скрипт bash. До сих пор у меня ниже работы:Как вы передаете POST и GET скрипту через LUA на nginx?

location /webhook { 
    if ($request_method != POST) { 
     return 405; 
    } 
    content_by_lua 'os.execute("/opt/bin/webhook.sh arg1 arg2")'; 
} 

Однако, я не уверен, как пройти POST и GET параметров через. Я искал в Интернете, и единственное, что я могу найти, это использование os.execute без параметров или некоторое подробное использование тела запроса, предполагающее, что пользователь уже понимает все, что вы можете сделать с LUA.

Любые указания относительно того, как это сделать? Благодаря!

ответ

2

Вы должны взглянуть на ngx.req.get_uri_args и ngx.req.get_post_args.

Сказанное, что вызов os.execute внутри обработчика, вероятно, не самая лучшая идея, поскольку обработчик должен быть неблокирующим.