Ну ладно, зайдём с другой стороны.
По твоей логике, hackney должен был действовать следующим образом (повторюсь, он принимает заголовки как список пар "название"-"значение"). Если ты ему передаёшь невалидную строку в качестве названия хэдера (с двоеточием), то он должен это проигнорировать и просто склеить его со значением, не добавляя ещё одно двоеточие? А как тогда указывать валидные хэдеры? Вот хочу я указать
content-type: application/json
. Мне его нужно всегда указывать с двоеточием, как
[{"content-type: ", "application/json"}]
или он должен добавлять двоеточие для валидных названий хэдеров? Тебе это кажется логичным и очевидным поведением?