You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2011/03/11 12:44:42 UTC

svn commit: r1080536 - /incubator/deltacloud/trunk/server/lib/sinatra/rack_driver_select.rb

Author: mfojtik
Date: Fri Mar 11 11:44:42 2011
New Revision: 1080536

URL: http://svn.apache.org/viewvc?rev=1080536&view=rev
Log:
Added an option to switch driver using matrix params

Modified:
    incubator/deltacloud/trunk/server/lib/sinatra/rack_driver_select.rb

Modified: incubator/deltacloud/trunk/server/lib/sinatra/rack_driver_select.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/sinatra/rack_driver_select.rb?rev=1080536&r1=1080535&r2=1080536&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/lib/sinatra/rack_driver_select.rb (original)
+++ incubator/deltacloud/trunk/server/lib/sinatra/rack_driver_select.rb Fri Mar 11 11:44:42 2011
@@ -31,11 +31,19 @@ module Rack
 
     def call(env)
       original_settings = { }
+      req = Rack::Request.new(env)
+      if req.params['api'] and req.params['api']['driver']
+	env['HTTP_X_DELTACLOUD_DRIVER'] = req.params['api']['driver']
+      end
+      if req.params['api'] and req.params['api']['provider']
+	env['HTTP_X_DELTACLOUD_PROVIDER'] = req.params['api']['provider']
+      end
       HEADER_TO_ENV_MAP.each do |header, name|
         original_settings[name] = Thread.current[name]
         new_setting = extract_header(env, header)
         Thread.current[name] = new_setting if new_setting
       end
+
       @app.call(env)
     ensure
       original_settings.each { |name, value| Thread.current[name] = value }