Faraday::Cli
Console line interface for faraday gem client so you can use your favorite middleware based ruby http client on the terminal!
Installation
Add this line to your application's Gemfile:
gem 'faraday-cli'
And then execute:
$ bundle
Or install it yourself as:
$ gem install faraday-cli
Usage
CLI options
Usage: faraday-cli [options] <url>
-V, --version Show version number and quit
-X, --request COMMAND Specify http request command to use
-H, --header HEADER:VALUE Pass custom header LINE to server (H)
-q, --query key=value Pass Query key values to use in the request
-d, --data PAYLOAD_STRING HTTP POST data (H)
--upload_file KEY=FILE_PATH[:CONTENT_TYPE]
Pass File upload io in the request pointing to the given file
-A, --user-agent STRING Send User-Agent STRING to server (H)
-o, --output FILE_PATH Write to FILE instead of stdout
-v, --verbose Make the operation more talkative
--super-verbose Make the operation even more talkative
-s, --silent Silent mode (don't output anything)
-K, --config FILE_PATH File path to the .faraday.rb if you want use other than default
-M, --middlewares Show current middleware stack
-W, --without_middlewares Make request without consuming middleware file(s)
faraday-cli http://www.google.com -q q=foo
faraday-cli http://example.org -d "payload string"
Middleware use
You can use middlewares with ".faraday.rb" file. Put any middleware related configuration into the file, and use the 'use' method to include into the faraday connection.
you can use any faraday middlewares as how you pleased.
class MyAwesomeMiddleware < Faraday::Middleware
def call(request_env)
# before main request
@app.call(request_env).on_complete do |response_env|
# after main request
end
end
end
use MyAwesomeMiddleware
By default it will look for the current runtime directory for this file. If you are in a project, than it will look for the project folder (Ruby project). If still nothing than for the last place to look it will check for Home folder to find a default middleware file.
With that you can use all kind of stuff out of the box with your faraday-cli, such as Amazon v3 authentication, or anything that is on the internet :D
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/faraday-cli. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.