From afc4e2664eb7e4e35dd75c241a20f6b70e5d0c86 Mon Sep 17 00:00:00 2001 From: Avinash Date: Tue, 28 Feb 2017 19:29:56 +0530 Subject: [PATCH] Feature: Added attributes of Net::HTTP To support wide variety of attributes provides by Net::HTTP class. --- README.md | 7 ++++++- lib/reverse_proxy/client.rb | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9af1d70..e0b9259 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,12 @@ If you'd like to bypass SSL verification reverse_proxy "http://localhost:8000", verify_ssl: false ``` +If you'd like to more customize your [HTTP optional hash](https://ruby-doc.org/stdlib-2.4.0/libdoc/net/http/rdoc/Net/HTTP.html#start-method), + +```ruby +reverse_proxy "http://localhost:8000", http_options: {read_timeout: 20, open_timeout: 100} +``` + Use this method to determine what version you're running ```ruby @@ -88,4 +94,3 @@ Special thanks to our contributors! Copyright (c) 2016 James Hu. See [LICENSE](LICENSE) for further details. - diff --git a/lib/reverse_proxy/client.rb b/lib/reverse_proxy/client.rb index f60eebd..407c72a 100644 --- a/lib/reverse_proxy/client.rb +++ b/lib/reverse_proxy/client.rb @@ -38,6 +38,7 @@ module ReverseProxy def request(env, options = {}, &block) options.reverse_merge!( headers: {}, + http_options: {}, path: nil, username: nil, password: nil, @@ -82,6 +83,7 @@ module ReverseProxy http_options = {} http_options[:use_ssl] = (uri.scheme == "https") http_options[:verify_mode] = OpenSSL::SSL::VERIFY_NONE if options[:verify_ssl] + http_options.merge!(options[:http_options]) if options[:http_options] # Make the request Net::HTTP.start(uri.hostname, uri.port, http_options) do |http|