LINUX.ORG.RU

Ответ на: комментарий от goingUp

Не подходит, у меня на одном и том же урле разные JSON отдаются. В зависимости от тела поста. А с помощью Lua я вычитываю тела ПОСТа и хочу отдавать разные JSON, может есть другой сполсоб какой-то?

darksmoke ()
Ответ на: комментарий от darksmoke

Тогда пиши обработчик.

Только не надо требовать написать все за тебя.

Попробуй сначала сам, а если не ага, то пиши уже конкретные ошибки ну или сразу в Job.

anonymous ()
Ответ на: комментарий от anonymous

Можно подробнее, какой обработчик. План что ли написать, а я уже буду пытаться это в код превратить. Я только вчера познакомился с Lua. Логика у обработчика какая должна быть?

darksmoke ()
Ответ на: комментарий от darksmoke
            content_by_lua '
                ngx.req.read_body()
                local data = ngx.req.get_body_data()

                local cjson = require "cjson"
                local jsonValue = cjson.decode(data)


                if jsonValue["action"] == "a" then
                    ngx.status = ngx.HTTP_OK
                    ngx.header.content_type = "application/json; charset=utf-8"
                    ngx.print("{lll}")
                    return ngx.exit(ngx.OK)
                elseif jsonValue["action"] == "b" then
                    ngx.status = ngx.HTTP_OK
                    ngx.header.content_type = "application/json; charset=utf-8"
                    ngx.say(cjson.encode({ data = "Sample Data", ll = "rrr" }))
                    return ngx.exit(ngx.OK)
                end

            ';

Но проблема в том что у меня JSON начинается с цифры и все время ошибка из-за этого. Может есть другой метод?

darksmoke ()