mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* lib/webrick.rb: Moved proxy rewriting to WEBrick::HTTPProxy.
* lib/webrick/httpproxy.rb: Add examples of creating a proxy server and response rewriting using HTTPProxy. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									30f0e97ef0
								
							
						
					
					
						commit
						42ffb2ed15
					
				
					 3 changed files with 37 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -1,3 +1,9 @@
 | 
			
		|||
Fri Feb  3 07:16:47 2012  Eric Hodel  <drbrain@segment7.net>
 | 
			
		||||
 | 
			
		||||
	* lib/webrick.rb:  Moved proxy rewriting to WEBrick::HTTPProxy.
 | 
			
		||||
	* lib/webrick/httpproxy.rb:  Add examples of creating a proxy server
 | 
			
		||||
	  and response rewriting using HTTPProxy.
 | 
			
		||||
 | 
			
		||||
Fri Feb  3 06:53:22 2012  Eric Hodel  <drbrain@segment7.net>
 | 
			
		||||
 | 
			
		||||
	* ext/openssl/ossl_x509store.c:  Add class documentation for
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -129,9 +129,8 @@
 | 
			
		|||
#
 | 
			
		||||
#   trap 'INT' do proxy.shutdown end
 | 
			
		||||
#
 | 
			
		||||
# Proxies may modifier the content of the response through the
 | 
			
		||||
# +:ProxyContentHandler+ callback which will be invoked with the request and
 | 
			
		||||
# respone after the remote content has been fetched.
 | 
			
		||||
# See WEBrick::HTTPProxy for further details including modifying proxied
 | 
			
		||||
# responses.
 | 
			
		||||
#
 | 
			
		||||
# == Basic and Digest authentication
 | 
			
		||||
#
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,6 +35,34 @@ module WEBrick
 | 
			
		|||
 | 
			
		||||
  ##
 | 
			
		||||
  # An HTTP Proxy server which proxies GET, HEAD and POST requests.
 | 
			
		||||
  #
 | 
			
		||||
  # To create a simple proxy server:
 | 
			
		||||
  #
 | 
			
		||||
  #   require 'webrick'
 | 
			
		||||
  #   require 'webrick/httpproxy'
 | 
			
		||||
  #
 | 
			
		||||
  #   proxy = WEBrick::HTTPProxyServer.new Port: 8000
 | 
			
		||||
  #
 | 
			
		||||
  #   trap 'INT'  do p.shutdown end
 | 
			
		||||
  #   trap 'TERM' do p.shutdown end
 | 
			
		||||
  #
 | 
			
		||||
  #   p.start
 | 
			
		||||
  #
 | 
			
		||||
  # See ::new for proxy-specific configuration items.
 | 
			
		||||
  #
 | 
			
		||||
  # == Modifying proxied responses
 | 
			
		||||
  #
 | 
			
		||||
  # To modify content the proxy server returns use the +:ProxyContentHandler+
 | 
			
		||||
  # option:
 | 
			
		||||
  #
 | 
			
		||||
  #   handler = proc do |req, res|
 | 
			
		||||
  #     if res['content-type'] == 'text/plain' then
 | 
			
		||||
  #       res.body << "\nThis content was proxied!\n"
 | 
			
		||||
  #     end
 | 
			
		||||
  #   end
 | 
			
		||||
  #
 | 
			
		||||
  #   proxy =
 | 
			
		||||
  #     WEBrick::HTTPProxyServer.new Port: 8000, ProxyContentHandler: handler
 | 
			
		||||
 | 
			
		||||
  class HTTPProxyServer < HTTPServer
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -46,7 +74,7 @@ module WEBrick
 | 
			
		|||
    #                  request
 | 
			
		||||
    # :ProxyVia:: Appended to the via header
 | 
			
		||||
    # :ProxyURI:: The proxy server's URI
 | 
			
		||||
    # :ProxyContentHandler:: Called with a request and resopnse and allows
 | 
			
		||||
    # :ProxyContentHandler:: Called with a request and response and allows
 | 
			
		||||
    #                        modification of the response
 | 
			
		||||
    # :ProxyTimeout:: Sets the proxy timeouts to 30 seconds for open and 60
 | 
			
		||||
    #                 seconds for read operations
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue