Giter Site home page Giter Site logo

nginx-json-proxy's Introduction

nginx-json-proxy

Ever wanted make sure you're only passing JSON across a boundary? Every thought the best place to do this would be in Lua embedded in nginx? This project is for you.

Usage

You can test out the example by running nginx via foreman:

bundle exec foreman start

Then making requests via curl:

# valid JSON
curl -X POST -d '["bob", "jim"]' http://localhost:3000/
["bob","jim"]

# invalid JSON
curl -X POST -d '["bob", "jim]' http://localhost:3000/
invalid request

Rather than use a real backend the example currently just hard codes the response. If you change the text on line 11 of request.lua to return invalid JSON (say ngx.say('["bob","jim]') then you should get:

# valid JSON, with invalid JSON response
curl -X POST -d '["bob", "jim"]' http://localhost:3000/
invalid response

Installing OpenResty in the ./vendor folder

bundle
bundle exec rake openresty:install
bundle exec foreman start nginx

On Debian/Ubuntu

apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl

On OSX

brew install pcre

Thanks

Thanks to Tommy Hall and his nginx-lua-examples for the Rakefile and Procfile which made getting started easier.

nginx-json-proxy's People

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.