function config(settings)

Метод позволяет задать настройки по умолчанию для http-клиента.

Параметр settings может содержать набор следующих необязательных полей:

  • authService — объект в котором указывается название сервиса данные для авторизации запроса к нему. Содержит следующие поля:

    • service — строка с названием сервиса, к которому осуществляется доступ:

      • Для доступа к сервисам Platform V используйте значение platformV.
      • Для доступа к сервисам SmartPush и SmartProfile используйте значение smartServices.
    • name — имя переменной, которая будет передаваться заголовке или теле запроса для авторизации.
    • value — значение переменной для авторизации в виде строки, заданное с помощью переменной из раздела Токены.
    • settingType — строка, которая указывает часть запроса, где будет передаваться переменная для авторизации. Возможные значения:

      • QUERY — переменная будет передаваться в теле запроса.
      • HEADER — переменная будет передаваться в заголовке запроса.
    • app_key — ключ пространства в виде строки, заданный с помощью переменной из раздела Токены. Параметр используется для ручной настройки авторизации запросов к Platform V. Не указывайте параметр если хотите использовать системные настройки.
    • app_secret — секрет пространства в виде строки, заданный с помощью переменной из раздела Токены. Параметр используется для ручной настройки авторизации запросов к Platform V. Не указывайте параметр если хотите использовать системные настройки.
    • client_id — идентификатор пользователя сервиса в виде строки, заданный с помощью переменной из раздела Токены. Параметр используется для ручной настройки авторизации запросов к SmartPush. Не указывайте параметр если хотите использовать системные настройки.
    • secret — секрет пространства в виде строки, заданный с помощью переменной из раздела Токены. Параметр используется для ручной настройки авторизации запросов к SmartPush. Не указывайте параметр если хотите использовать системные настройки.
    • scope — скоуп действия параметров авторизации в виде строки. Для работы с сервисом SmartPush указывайте значение SMART_PUSH.
  • url — объект, позволяет задать базовый url, относительно которого будет строиться итоговый url при вызове $http.query с относительным url. Должен содержать обязательные поля:

    • protocol — протокол, поддерживаются http и https;
    • host — url-хост;
    • port — url-порт.
  • timeout — максимальное время выполнения запроса после установки http-соединения в миллисекундах.
  • authHeader — заголовок авторизации.
  • cacheTimeToLiveInSeconds — время в секундах, на которое кэшируются http-ответы, при вызове $http.query с указанием необходимости кэширования вызова. Является обязательным параметром для использования http-кэша.

Примеры значений

  • Авторизации запросов к SmartPush с использованием системных настроек:
$http.config({
    authService: {
        service: 'smartServices',
    }
});
  • Параметры ручной авторизации запросов к сервисам SmartPush:
$http.config({
    authService: {
        service: 'platformV',
        client_id: '$smartClientid', // переменная из раздела Токены
        secret: '$smartSecret', // переменная из раздела Токены
        scope: 'SMART_PUSH'
    }
});
  • Авторизации запросов к Platform V с использованием системных настроек:
$http.config({
    authService: {
        service: 'platformV',
    }
});
  • Параметры ручной авторизации запросов к сервисам Platform V:
$http.config({
    authService: {
        service: 'platformV',
        app_key: '$smartClientid', // переменная из раздела Токены
        app_secret: '$smartSecret' // переменная из раздела Токены
    }
});
  • Указываем конфигурацию по умолчанию. В запросах прописываем только путь/параметры.
 init:
    $http.config({
        cacheTimeToLiveInSeconds: 1 * 60 * 30
    });

state: Weather
    q!: Сколько градусов в питере
    script:
	var url = "https://api.apixu.com/v1/current.json?key=d43686318b1647dabb8181701181811&q=saint%20petersburg”;
	var settings = {
		method: "GET",
		cachingRequired: true
		};
	var response = $http.query(url, settings);
        if (response.isOk) {
            $temp.degree = response.data.current.temp_c; 
        } 
    a: Сейчас в Питере {{ $temp.degree }}°C.
  • Установка времени жизни объектов кэша.
init:
    $http.config({
        cacheTimeToLiveInSeconds: 2
    });
  • Установка базового url и вызов http://example.com/path.
init:
    $http.config({
        url: {
          protocol: 'http',
          host: 'example.com',
          port: '80'
        }
    });
state:
    q!: *
    script:
        $http.get('/path');
  • Установка таймаута вызова в 1 секунду и заголовка авторизации.
init:
    $http.config({
        timeout: 1000,
        authHeader: 'Basic VXNlcm5hbWU6UGFzc3dvcmQ=' // для basic авторизации 
        authHeader: 'Bearer 1/mZ1edKKACtPAb7zGlwSzvs72PvhAbGmB8K1ZrGxpcNM' // для OAuth авторизации 
    });
  • Передача данных авторизации в заголовке:
$http.config({
                authService: {
                    service: 'external',
                    name: 'auth_header_name',
                    value: '$external_auth_secret',
                    settingType: 'HEADER'
                }
            });
  • Передача данных авторизации в query-параметре:
$http.config({
            authService: {
                service: 'external',
                name: 'auth_query_name',
                value: '$external_auth_secret',
                settingType: 'QUERY'
            }
        })

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней