<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,6 @@
+2009-05-18 - Sean Huber (shuber@huberry.com)
+  * Fix compatibility issues with actionpack &gt;= 2.2.2
+
 2009-01-24 - Sean Huber (shuber@huberry.com)
   * Add compatibility for edge/upcoming rails versions
 </diff>
      <filename>CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -5,6 +5,8 @@ A gem/plugin that allows rails applications to dynamically respond to proxied re
 
 The original session domain, default host, and relative url root will be restored after each request.
 
+Requires actionpack version &gt;= 2.0.0
+
 
 Installation
 ------------
@@ -45,8 +47,8 @@ Relative Url Root Proxy Setup
 
 The client's proxy must forward the request uri header in order for this plugin to automatically set the relative url root correctly. Here is how the client would setup a proxy in apache for the example above:
 
-	RewriteRule ^neworders(.*) http://client.example.com/orders$1 [P,E=originalUri:%{REQUEST_URI}]
-	RequestHeader append X_FORWARDED_URI %{originalUri}e
+	RewriteRule ^neworders(.*) http://client.example.com/orders$1 [P,QSA,L,E=originalUri:%{REQUEST_URI}]
+	RequestHeader append X_FORWARDED_URI %{originalUri}e e=originalUri
 
 
 Contact</diff>
      <filename>README.markdown</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,17 @@ require 'rake/testtask'
 require 'rake/rdoctask'
 
 desc 'Default: run the proxy tests'
-task :default =&gt; :test
+task :default =&gt; :test_all_versions
+
+desc 'Default: run the proxy tests for all versions of actionpack'
+task :test_all_versions do
+  versions = `gem list`.match(/actionpack \((.+)\)/).captures[0].split(/, /).select { |v| v[0,1].to_i &gt; 1 }
+  versions.each do |version|
+    puts &quot;\n\n=============================================================&quot;
+    puts &quot;TESTING WITH ACTION PACK VERSION #{version}\n\n&quot;
+    system &quot;rake test ACTION_PACK_VERSION=#{version}&quot;
+  end
+end
 
 desc 'Test the proxy plugin.'
 Rake::TestTask.new(:test) do |t|</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -11,7 +11,10 @@ module Huberry
         # It will not set the :host option if &lt;tt&gt;options&lt;/tt&gt; is not a hash or
         # if the &lt;tt&gt;ActionController::UrlWriter.default_url_options[:host]&lt;/tt&gt; is blank
         def rewrite_url_with_proxy(options)
-          options[:host] ||= ::ActionController::UrlWriter.default_url_options[:host] if options.is_a?(Hash) &amp;&amp; !::ActionController::UrlWriter.default_url_options[:host].blank?
+          if options.is_a?(Hash)
+            options[:host] ||= ::ActionController::UrlWriter.default_url_options[:host] unless ::ActionController::UrlWriter.default_url_options[:host].blank?
+            options.delete(:original_host)
+          end
           rewrite_url_without_proxy(options)
         end
       end</diff>
      <filename>lib/huberry/proxy/action_controller/url_rewriter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,7 +11,10 @@ module Huberry
         # It will not set the :host option if &lt;tt&gt;options&lt;/tt&gt; is not a hash or
         # if the &lt;tt&gt;ActionController::UrlWriter.default_url_options[:host]&lt;/tt&gt; is blank
         def url_for_with_proxy(options = {})
-          options[:host] ||= ::ActionController::UrlWriter.default_url_options[:host] if options.is_a?(Hash) &amp;&amp; !::ActionController::UrlWriter.default_url_options[:host].blank?
+          if options.is_a?(Hash)
+            options[:host] ||= ::ActionController::UrlWriter.default_url_options[:host] unless ::ActionController::UrlWriter.default_url_options[:host].blank?
+            options.delete(:original_host)
+          end
           url_for_without_proxy(options)
         end
       end</diff>
      <filename>lib/huberry/proxy/action_view/url_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,4 +9,19 @@ ActionController::AbstractRequest.send :include, Huberry::Proxy::ActionControlle
 ActionController::Base.send :include, Huberry::Proxy::ActionController::Base
 ActionController::Routing::RouteSet::NamedRouteCollection.send :include, Huberry::Proxy::ActionController::NamedRouteCollection
 ActionController::UrlRewriter.send :include, Huberry::Proxy::ActionController::UrlRewriter
-ActionView::Base.send :include, Huberry::Proxy::ActionView::UrlHelper
\ No newline at end of file
+ActionView::Base.send :include, Huberry::Proxy::ActionView::UrlHelper
+
+unless ActionController::UrlWriter.respond_to?(:default_url_options)
+  ActionController::Base.class_eval do
+    include ActionController::UrlWriter
+    
+    def default_url_options_with_backwards_compatibility(*args)
+      default_url_options_without_backwards_compatibility
+    end
+    alias_method_chain :default_url_options, :backwards_compatibility
+  end
+  
+  class &lt;&lt; ActionController::UrlWriter
+    delegate :default_url_options, :default_url_options=, :to =&gt; ::ActionController::Base
+  end
+end
\ No newline at end of file</diff>
      <filename>lib/proxy.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 Gem::Specification.new do |s|
   s.name    = 'proxy'
-  s.version = '1.2.3'
-  s.date    = '2009-01-24'
+  s.version = '1.3.0'
+  s.date    = '2009-05-18'
   
   s.summary     = 'A gem/plugin that allows rails applications to dynamically respond to proxied requests'
   s.description = 'A gem/plugin that allows rails applications to dynamically respond to proxied requests by detecting forwarded host/uri headers and setting the session domain, default host, and relative url root'</diff>
      <filename>proxy.gemspec</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+raise 'Must specify ACTION_PACK_VERSION' unless ENV['ACTION_PACK_VERSION']
+
 $:.reject! { |path| path.include? 'TextMate' }
 require 'test/unit'
 
@@ -7,16 +9,26 @@ require 'rubygems'
 
 # Load ActionPack
 #
-gem 'actionpack'
+gem 'actionpack', ENV['ACTION_PACK_VERSION']
 require 'action_pack'
 require 'action_controller'
-require 'action_controller/assertions'
 require 'action_controller/routing'
 require 'action_controller/session_management'
-require 'action_controller/test_process'
 require 'action_controller/url_rewriter'
+require 'action_controller/test_process'
 require 'action_view'
 
+Test::Unit::TestCase.class_eval do
+  include ActionController::TestProcess
+  
+  unless instance_methods.include?('assert_redirected_to')
+    def assert_redirected_to(url)
+      assert @response.redirect?
+      assert_equal url, @response.location
+    end
+  end
+end
+
 # Routing
 #
 class ActionController::Routing::RouteSet</diff>
      <filename>test/init.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>c7b64d2e8d149463d10420a22b8a87f7efb308b1</id>
    </parent>
  </parents>
  <author>
    <name>Sean Huber</name>
    <email>shuber@huberry.com</email>
  </author>
  <url>http://github.com/shuber/proxy/commit/6ce8095e1bee9354c7c6f9a5deee0f8ff31c225a</url>
  <id>6ce8095e1bee9354c7c6f9a5deee0f8ff31c225a</id>
  <committed-date>2009-05-18T13:56:32-07:00</committed-date>
  <authored-date>2009-05-18T13:56:32-07:00</authored-date>
  <message>Fix compatibility issues with actionpack &gt;= 2.2.2</message>
  <tree>51a3c3fe70ba0ab86db895f48b9351814e6c599b</tree>
  <committer>
    <name>Sean Huber</name>
    <email>shuber@huberry.com</email>
  </committer>
</commit>
