ApiProxy
This gem is a simple forwarding proxy for api requests
Installation
Add this line to your application's Gemfile:
gem 'api_proxy'
And then execute:
$ bundle
Or install it yourself as:
$ gem install api_proxy
Usage
# config/initializers/api_proxy.rb
ApiProxy.configure(:my_namespace) do |config|
config.api_key = ENV['SERVICE_API_KEY']
config.api_secret = ENV['SERVICE_API_SECRET']
config.api_url = 'http://localhost:3002/api/v1'
config.request_starts_with = '/_some_key'
config.allowed_headers = %w[content-type content-length]
end
# config/application.rb
config.middleware.use ApiProxy::Middleware, :my_namespace
Then all requests, starting with /_some_key
will be forwarded to your service
GET localhost:3010/_some_key/orders
=> GET localhost:3000/api/v1/orders
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]/api_proxy.
License
The gem is available as open source under the terms of the MIT License.