Have a proper README

This commit is contained in:
James Hu 2015-06-04 20:54:26 -07:00
parent 2b19be3a57
commit 13d8961556
1 changed files with 59 additions and 1 deletions

View File

@ -1,10 +1,68 @@
# rails-reverse-proxy
Gives you the ability to reverse proxy within Rails.
## Installation
You know the drill. In your Gemfile, have the line
```ruby
gem 'rails-reverse-proxy'
```
gem install rails-reverse-proxy
Then (you guessed it!)
```
$ bundle
```
## Usage
An example usage of this gem is hosting a WordPress site on a path within your Rails application, such as `/blog`. To do this, you'll need something like
```ruby
class WordpressController < ApplicationController
include ReverseProxy::Controller
def index
# Assuming the WordPress server is being hosted on port 8080
reverse_proxy "http://localhost:8080" do |config|
# We got a 404!
config.on_missing do |code, response|
redirect_to root_url and return
end
# There's also other callbacks:
# - on_set_cookies
# - on_response
# - on_set_cookies
# - on_success
# - on_redirect
# - on_missing
# - on_error
# - on_complete
end
end
end
```
Then in your `routes.rb` file, you should have something like
```ruby
match 'blog/*path' => 'wordpress#index', via: [:get, :post, :put, :patch, :delete]
```
You can also pass options into `reverse_proxy`
```ruby
reverse_proxy "http://localhost:8000", path: "custom-path", headers: { 'X-Foo' => "Bar" }
```
Sorry if these instructions are sparse. Feel free to reach out or read the source!
## Contributing
All pull requests will become first class citizens.
## Copyright