# File lib/fog/workflow/openstack/v2.rb, line 125
          def request(params)
            response = @connection.request(
              params.merge(
                :headers => {
                  'Content-Type' => 'application/json',
                  'X-Auth-Token' => @auth_token
                }.merge!(params[:headers] || {}),
                :path    => "#{@path}/#{params[:path]}"
              )
            )
          rescue Excon::Errors::Unauthorized    => error
            if error.response.body != "Bad username or password" # token expiration
              @openstack_must_reauthenticate = true
              authenticate
              retry
            else # bad credentials
              raise error
            end
          rescue Excon::Errors::HTTPStatusError => error
            raise case error
                  when Excon::Errors::NotFound
                    Fog::Workflow::OpenStack::NotFound.slurp(error)
                  else
                    error
                  end
          else
            unless response.body.empty?
              response.body = Fog::JSON.decode(response.body)
            end
            response
          end