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 }