LogDB.Client.Parser.Auto (logdb_client v0.3.0)

Copy Markdown View Source

Раскодирует payload по типу, который объявил издатель (_content_type в meta), — один консьюмер читает и JSON, и термы, и текст, что бы ни публиковали и через какой транспорт.

  • JSON (application/json, …+json) — значение;
  • Erlang-терм — binary_to_term(:safe); терм с незнакомым атомом — ошибка (LogDB.Client.DecodeError в handle_error/2);
  • text/* — строка;
  • прочее — байты как есть;
  • тип не объявлен (старые события) — терм, если похоже на терм, иначе байты.

Публикует через erlangd термами (как Parser.Erlangd).

Summary

Functions

decode(payload)

Callback implementation for LogDB.Client.Parser.decode/1.

decode_event(payload, meta, arg3)

Callback implementation for LogDB.Client.Parser.decode_event/3.

encode(payload)

Callback implementation for LogDB.Client.Parser.encode/1.

encode_bytes(term)

Callback implementation for LogDB.Client.Parser.encode_bytes/1.