Sha256: 2edc6b7fed137547e85d62c7a987daf133b5749af0d8a71868732e7823b7b3b2

Contents?: true

Size: 1.48 KB

Versions: 4

Compression:

Stored size: 1.48 KB

Contents

# 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'
```

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

Copyright (c) 2015 James Hu. See LICENSE.txt for
further details.

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rails-reverse-proxy-0.5.0 README.md
rails-reverse-proxy-0.4.2 README.md
rails-reverse-proxy-0.4.1 README.md
rails-reverse-proxy-0.4.0 README.md