in src/main/java/com/microsoft/azure/functions/worker/binding/RpcModelBindingDataSource.java [27:53]
public RpcModelBindingDataSource(String name, ModelBindingData modelData) {
super(name, modelData, MODEL_BINDING_DATA_OPERATIONS);
// Parse the JSON in modelData.getContent() => Map<String,String>
String jsonString = modelData.getContent().toStringUtf8();
if (jsonString == null || jsonString.isEmpty()) {
throw new IllegalArgumentException(
"model_binding_data.content is empty or missing for name: " + name
);
}
Map<String,String> parsed = null;
try {
Type mapType = new TypeToken<Map<String, String>>(){}.getType();
parsed = GSON.fromJson(jsonString, mapType);
} catch (Exception ex) {
LOGGER.warning("Failed to parse model_binding_data JSON: " + ExceptionUtils.getRootCauseMessage(ex));
throw new RuntimeException(ex);
}
if (parsed == null) {
throw new IllegalArgumentException(
"model_binding_data.content was not valid JSON for name: " + name
);
}
this.contentMap = parsed;
}