docs: @Override
      public ContentPattern<?> forRequest(Request request) {
          final String mimeType = request.getHeaders().getContentTypeHeader().mimeTypePart();
          if (mimeType != null) {
              if (mimeType.contains("json")) {
                  return new EqualToJsonPattern(request.getBodyAsString(), ignoreArrayOrder, ignoreExtraElements);
              } else if (mimeType.contains("xml")) {
                  return new EqualToXmlPattern(request.getBodyAsString());
              } else if (mimeType.equals("multipart/form-data")) {
                  // TODO: Need to add a matcher that can handle multipart data properly. For now, just always match
                  return new AnythingPattern();
              } else if (!determineIsTextFromMimeType(mimeType)) {
                  return new BinaryEqualToPattern(request.getBody());
              }
          }
  
          return new EqualToPattern(request.getBodyAsString(), caseInsensitive);
      }