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
|
@ -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