feat(chat): add support for custom HTTP headers in image attachments

This commit is contained in:
cogwheel0
2025-11-29 10:57:06 +05:30
parent 4c5f12919f
commit aefd4dfa2c
4 changed files with 90 additions and 5 deletions

View File

@@ -272,6 +272,10 @@ Map<String, dynamic> _parseOpenWebUIMessageToJson(
};
if (entry['name'] != null) fileMap['name'] = entry['name'];
if (entry['size'] != null) fileMap['size'] = entry['size'];
final headers = _coerceStringMap(entry['headers']);
if (headers != null && headers.isNotEmpty) {
fileMap['headers'] = headers;
}
allFiles.add(fileMap);
final url = entry['url'].toString();
@@ -388,6 +392,24 @@ List<Map<String, dynamic>> _parseStatusHistoryField(dynamic raw) {
return const <Map<String, dynamic>>[];
}
Map<String, String>? _coerceStringMap(dynamic raw) {
if (raw is Map) {
final result = <String, String>{};
raw.forEach((key, value) {
final keyString = key?.toString();
final valueString = value?.toString();
if (keyString != null &&
keyString.isNotEmpty &&
valueString != null &&
valueString.isNotEmpty) {
result[keyString] = valueString;
}
});
return result.isEmpty ? null : result;
}
return null;
}
List<String> _coerceStringList(dynamic raw) {
if (raw is List) {
return raw