request headers are optional, so handle the case where there are none