# File lib/webmock/request_pattern.rb, line 140
    def matches?(body, content_type = "")
      if (@pattern).is_a?(Hash)
        return true if @pattern.empty?

        case BODY_FORMATS[content_type]
        when :json then
          Crack::JSON.parse(body) == @pattern
        when :xml then
          Crack::XML.parse(body) == @pattern
        else
          Addressable::URI.parse('?' + body).query_values == @pattern
        end
      else
        empty_string?(@pattern) && empty_string?(body) ||
          @pattern == body ||
          @pattern === body
      end
    end