public void updateConsumes()

in swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/ParameterGeneratorContext.java [119:159]


  public void updateConsumes(boolean isForm, boolean isBinary, boolean isWebSocket) {
    List<String> removed = new ArrayList<>();
    if (isWebSocket) {
      supportedConsumes.clear();
      supportedConsumes.add(SwaggerConst.WEBSOCKET_TYPE);
      return;
    }

    if (httpParameterType == HttpParameterType.BODY) {
      if (isForm) {
        throw new IllegalArgumentException("Both form and body parameter not allowed.");
      }
      for (String media : supportedConsumes) {
        if (SUPPORTED_BODY_CONTENT_TYPE.contains(media)) {
          continue;
        }
        removed.add(media);
      }
      supportedConsumes.removeAll(removed);
      return;
    }

    if (httpParameterType == HttpParameterType.FORM) {
      for (String media : supportedConsumes) {
        if (!SUPPORTED_FORM_CONTENT_TYPE.contains(media)) {
          removed.add(media);
          continue;
        }
        if (isBinary && supportedConsumes.contains(MediaType.APPLICATION_FORM_URLENCODED)) {
          removed.add(MediaType.APPLICATION_FORM_URLENCODED);
        }
        if (!isBinary && supportedConsumes.contains(MediaType.MULTIPART_FORM_DATA)) {
          removed.add(MediaType.MULTIPART_FORM_DATA);
        }
      }
      supportedConsumes.removeAll(removed);
      return;
    }

    supportedConsumes.clear();
  }