Sha256: ea5f25e5b3d9161c58387904b93d88c4d8bcd17d824456d5c91fee43d2f986ae

Contents?: true

Size: 460 Bytes

Versions: 1

Compression:

Stored size: 460 Bytes

Contents

class RackDriverSelect

  def initialize(app, opts={})
    @app = app
    @opts = opts
  end

  def call(env)
    original_driver = Thread.current[:driver]
    new_driver = extract_driver(env)
    Thread.current[:driver] = new_driver if new_driver
    @app.call(env)
  ensure
    Thread.current[:driver] = original_driver
  end

  def extract_driver(env)
    driver_name = env['HTTP_X_DELTACLOUD_DRIVER'].downcase if env['HTTP_X_DELTACLOUD_DRIVER']
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
deltacloud-core-0.1.2 lib/sinatra/rack_driver_select.rb