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();
}