From: Michal Fojtik <[email protected]>

---
 server/lib/sinatra/rack_driver_select.rb |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/server/lib/sinatra/rack_driver_select.rb 
b/server/lib/sinatra/rack_driver_select.rb
index 4acaf27..67d30e6 100644
--- a/server/lib/sinatra/rack_driver_select.rb
+++ b/server/lib/sinatra/rack_driver_select.rb
@@ -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 }
-- 
1.7.4

Reply via email to