# File lib/fog/rackspace/requests/queues/list_messages.rb, line 42
        def list_messages(client_id, queue_name, options = {})
          queue = mock_queue!(queue_name)

          marker = (options[:marker] || "0").to_i
          limit = options[:limit] || 10
          echo = options[:echo] || false
          include_claimed = options[:include_claimed] || false

          next_marker = marker + limit + 1
          messages = queue.messages[marker...next_marker]
          messages.reject! { |m| m.producer_id == client_id } unless echo
          messages.reject! { |m| m.claimed? } unless include_claimed

          response = Excon::Response.new
          if queue.messages.empty?
            response.status = 204
          else
            response.status = 200
            response.body = {
              "messages" => messages.map { |m| m.to_h },
              "links" => [{
                "href" => "#{PATH_BASE}/#{queue_name}/messages?marker=#{next_marker}",
                "rel" => "next"
              }]
            }
          end
          response
        end