Prettifying JSON for Curl Development
In the same vein as my post from a few weeks ago on developing an API with Curl and Netrc, here's a handy trick for sending pre-prettified JSON output back to clients, but only those that are identifying as Curl. The reasoning being that prettified JSON isn't useful most of the time, but it's a nice touch while using developing or testing against an API with Curl.
Bundle MultiJson in your
Now define a helper for identifying Curl clients, and use it wherever encoding JSON:
# sample Sinatra app helpers do def curl? !!(request.user_agent =~ /curl/) end end get "/articles" do articles = Article.all [200, MultiJson.encode(articles, pretty: curl?)] end