    # File lib/fog/storm_on_demand/compute.rb, line 104
            def request(params)
              begin
                response = @connection.request(params.merge!({
                  :headers  => {
                    'Content-Type' => 'application/json',
                    'Authorization' => 'Basic ' << Base64.encode64("#{@storm_on_demand_username}:#{@storm_on_demand_password}").chomp
                  }.merge!(params[:headers] || {}),
                  :host     => @host,
                  :path     => "#{@path}/#{params[:path]}",
                  :expects  => 200,
                  :method   => :post
                }))
              rescue Excon::Errors::HTTPStatusError => error
                raise case error
                when Excon::Errors::NotFound
                  Fog::StormOnDemand::Compute::NotFound.slurp(error)
                else
                  error
                end
              end
              unless response.body.empty?
                response.body = Fog::JSON.decode(response.body)
              end
              if response.body.has_key?('full_error')
                raise(Fog::Compute::StormOnDemand::Error, response.body.inspect)
              end
              response
            end