TODO updated
socket message now always have headers dict