Compare commits

..

10 Commits

Author SHA1 Message Date
BoHung Chiu e386a90f29 add support for unix socket 2023-04-20 23:19:29 +08:00
James Hu b5156fa170 Add Arjeno to contributors list 2023-03-02 07:37:53 -08:00
James Hu 3f2d05f0ac Regenerate gemspec for version 0.12.0 2023-03-02 07:35:45 -08:00
James Hu 63c886854b Bump version to 0.12.0 2023-03-02 07:35:41 -08:00
James Hu 6c814bfd88
Merge pull request #70 from booqable/fix/delete-requests
Fix DELETE requests
2023-03-02 07:34:51 -08:00
James Hu 1dd61fbe1d
Merge pull request #62 from Dammytrager/dammytrager/update_readme
Update README.md
2023-03-02 07:33:51 -08:00
Arjen Oosterkamp 1c84556edd
Fix DELETE requests 2023-03-02 09:05:17 +01:00
dammytrager 37beb6377e Update README.md 2022-08-23 19:00:27 +01:00
James Hu c8294a03dc Update README 2022-02-07 18:16:26 -08:00
James Hu 8f193e2dde Regenerate gemspec for version 0.11.0 2022-02-07 18:09:14 -08:00
4 changed files with 42 additions and 35 deletions

View File

@ -15,7 +15,7 @@ gem 'rails-reverse-proxy'
Then (you guessed it!)
```
$ bundle
$ bundle install
```
## Usage
@ -75,6 +75,12 @@ If you'd like to customize options passed into the underlying [`Net:HTTP`](https
reverse_proxy "http://localhost:8000", http: { read_timeout: 20, open_timeout: 100 }
```
If you'd like to reset the `Accept-Encoding` header in order to disable compression or other server-side encodings
```ruby
reverse_proxy "http://localhost:8000", reset_accept_encoding: true
```
Determine what version you're using
```ruby
@ -91,10 +97,12 @@ All pull requests will become first class citizens.
Special thanks to our contributors!
- [aardvarkk](https://github.com/aardvarkk)
- [Arjeno](https://github.com/Arjeno)
- [avinashkoulavkar](https://github.com/avinashkoulavkar)
- [bapirex](https://github.com/bapirex)
- [jcs](https://github.com/jcs)
- [kylewlacy](https://github.com/kylewlacy)
- [marcosbeirigo](https://github.com/marcosbeirigo)
- [mediafinger](https://github.com/mediafinger)
- [miyukki](https://github.com/miyukki)
- [bapirex](https://github.com/bapirex)
- [marcosbeirigo](https://github.com/marcosbeirigo)
- [avinashkoulavkar](https://github.com/avinashkoulavkar)
- [jcs](https://github.com/jcs)
- [aardvarkk](https://github.com/aardvarkk)

View File

@ -1 +1 @@
0.11.0
0.12.0

View File

@ -49,13 +49,15 @@ module ReverseProxy
source_request = Rack::Request.new(env)
# We can pass in a custom path
uri = Addressable::URI.parse("#{url}#{options[:path] || env['ORIGINAL_FULLPATH']}")
uri = Addressable::URI.parse(self.url)
prefix_path = uri.request_uri
path = "#{prefix_path}#{options[:path] || env['ORIGINAL_FULLPATH']}"
# Define headers
target_request_headers = extract_http_request_headers(source_request.env).merge(options[:headers])
# Initialize request
target_request = Net::HTTP.const_get(source_request.request_method.capitalize).new(uri.request_uri, target_request_headers)
target_request = Net::HTTP.const_get(source_request.request_method.capitalize).new(path, target_request_headers)
# Basic auth
target_request.basic_auth(options[:username], options[:password]) if options[:username] and options[:password]
@ -65,9 +67,9 @@ module ReverseProxy
&& source_request.body
source_request.body.rewind
target_request.body_stream = source_request.body
target_request.content_length = source_request.content_length || 0
end
target_request.content_length = source_request.content_length || 0
target_request.content_type = source_request.content_type if source_request.content_type
# Hold the response here
@ -85,7 +87,8 @@ module ReverseProxy
http_options.merge!(options[:http]) if options[:http]
# Make the request
Net::HTTP.start(uri.hostname, uri.port, http_options) do |http|
hostname = uri.starts_with?("unix://") ? uri.to_s : uri.hostname
Net::HTTP.start(hostname, uri.port, http_options) do |http|
callbacks[:on_connect].call(http)
target_response = http.request(target_request)
end

View File

@ -2,25 +2,27 @@
# DO NOT EDIT THIS FILE DIRECTLY
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
# -*- encoding: utf-8 -*-
# stub: rails-reverse-proxy 0.10.1 ruby lib
# stub: rails-reverse-proxy 0.12.0 ruby lib
Gem::Specification.new do |s|
s.name = "rails-reverse-proxy".freeze
s.version = "0.10.1"
s.version = "0.12.0"
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
s.require_paths = ["lib".freeze]
s.authors = ["James Hu".freeze]
s.date = "2021-03-24"
s.date = "2023-03-02"
s.description = "Reverse proxy for Ruby on Rails".freeze
s.email = "hello@james.hu".freeze
s.extra_rdoc_files = [
"CHANGELOG.md",
"LICENSE",
"README.md"
]
s.files = [
".document",
".ruby-version",
"CHANGELOG.md",
"Gemfile",
"Gemfile.lock",
"LICENSE",
@ -36,36 +38,30 @@ Gem::Specification.new do |s|
]
s.homepage = "http://github.com/axsuul/rails-reverse-proxy".freeze
s.licenses = ["MIT".freeze]
s.rubygems_version = "2.6.13".freeze
s.rubygems_version = "3.1.6".freeze
s.summary = "Reverse proxy for Ruby on Rails".freeze
if s.respond_to? :specification_version then
s.specification_version = 4
end
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_runtime_dependency(%q<actionpack>.freeze, [">= 0"])
s.add_runtime_dependency(%q<addressable>.freeze, [">= 0"])
s.add_development_dependency(%q<shoulda>.freeze, [">= 0"])
s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
s.add_development_dependency(%q<jeweler>.freeze, ["~> 2.1.2"])
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
else
s.add_dependency(%q<actionpack>.freeze, [">= 0"])
s.add_dependency(%q<addressable>.freeze, [">= 0"])
s.add_dependency(%q<shoulda>.freeze, [">= 0"])
s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
s.add_dependency(%q<jeweler>.freeze, ["~> 2.1.2"])
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
end
if s.respond_to? :add_runtime_dependency then
s.add_runtime_dependency(%q<actionpack>.freeze, [">= 0"])
s.add_runtime_dependency(%q<addressable>.freeze, [">= 0"])
s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
s.add_development_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
s.add_development_dependency(%q<nokogiri>.freeze, [">= 1.11.3"])
s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
s.add_development_dependency(%q<shoulda>.freeze, [">= 0"])
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
else
s.add_dependency(%q<actionpack>.freeze, [">= 0"])
s.add_dependency(%q<addressable>.freeze, [">= 0"])
s.add_dependency(%q<shoulda>.freeze, [">= 0"])
s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
s.add_dependency(%q<jeweler>.freeze, ["~> 2.1.2"])
s.add_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
s.add_dependency(%q<nokogiri>.freeze, [">= 1.11.3"])
s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
s.add_dependency(%q<shoulda>.freeze, [">= 0"])
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
end
end