Мне удалось найти решение моей проблемы, кажется, что метод:
local get, err = client:receive('*a')
возвращает только полные данные.Заголовки, кажется, попадают под частично полученные, а не полностью полученные, и поэтому помещаются в третью переменную:
local data, emsg, partial = client:receive(pattern, prefix)
Это кажется недокументированным, но я, возможно, просто пропустил это