gracefully handle empty useragent string