resolveHeaderValueFromUploadDescription function

String? resolveHeaderValueFromUploadDescription(
  1. String uploadDescription,
  2. String headerName
)

Reads a header value from a Ground Control direct-upload JSON description. Returns null if the header is not found or in an invalid format.

Implementation

String? resolveHeaderValueFromUploadDescription(
  final String uploadDescription,
  final String headerName,
) {
  try {
    final decoded = jsonDecode(uploadDescription);
    if (decoded is! Map<String, dynamic>) {
      return null;
    }
    final headers = decoded['headers'];
    if (headers is! Map) {
      return null;
    }
    final value = headers[headerName];
    if (value is! String) {
      return null;
    }
    final trimmed = value.trim();
    if (trimmed.isEmpty) {
      return null;
    }
    return trimmed;
  } on FormatException {
    return null;
  }
}