parse should handle empty replies, which can happen when the remaining partial response is empty