Class: VagrantLXD::Driver::ProjectMiddleware
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- VagrantLXD::Driver::ProjectMiddleware
- Defined in:
- lib/vagrant-lxd/driver.rb
Overview
Custom middleware that adds a ‘project` query parameter to all outgoing requests, in order to select the active LXD project.
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.create(project) ⇒ Object
116 117 118 119 120 |
# File 'lib/vagrant-lxd/driver.rb', line 116 def ProjectMiddleware.create(project) Class.new(self) do define_method(:project) { project } end end |
Instance Method Details
#call(env) ⇒ Object
109 110 111 112 113 114 |
# File 'lib/vagrant-lxd/driver.rb', line 109 def call(env) url = URI(env.url.to_s) url.query = "#{url.query}&project=#{project}" url.query.delete_prefix!('&') @app.call(env.merge(url: url)) end |