DRY up HTTP request helpers