RackCurler
Given a Rack env, generate a nicely formatted curl command that approximates the request. Suitable for debugging.
Installation
Add this line to your application's Gemfile:
gem 'rack_curler'
And then execute:
$ bundle
Or install it yourself as:
$ gem install rack_curler
Usage
Where env
is a Rack env:
RackCurler.to_curl(env, :pretty => true)
Will output something like (depending on the request):
curl 'https://foo.example.com/hello/times' \
-X PUT
-H 'X-Forwarded-For: 127.0.0.1' \
-H 'X-Forwarded-Proto: https' \
-H 'Authorization: Basic laiusdfhalnsidufhxalnsuhflsadufhxadlsunxdsauhnlaudflnsuhadsf==' \
-H 'Accept: application/json' \
-H 'Cookie: crazy_cookie=alskdjfhasldkjfhxalsdufhxwoeufhxa; normal_cookie=asdfsadhfjlkdsajflksadjfh;'
--data 'super awesome request body'
If you don't want the backslash newline formatting, you can omit the :pretty
option and you will get something like:
curl 'https://foo.example.com/hello/times' -X PUT -H 'X-Forwarded-For: 127.0.0.1' -H 'X-Forwarded-Proto: https' -H 'Authorization: Basic laiusdfhalnsidufhxalnsuhflsadufhxadlsunxdsauhnlaudflnsuhadsf==' -H 'Accept: application/json' -H 'Cookie: crazy_cookie=alskdjfhasldkjfhxalsdufhxwoeufhxa; normal_cookie=asdfsadhfjlkdsajflksadjfh;' --data 'super awesome request body'
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request