Адаптер IBM Worklight HTTP Adapter отправляет / поддерживает отправку заголовка User-Agent?

Должны ли HTTP-адаптеры IBM Worklight (в 6.1) отправлять заголовок User-Agent по умолчанию при вызове серверной службы с использованием WL.Server.invokeHttp? Какова его ценность? Предполагая, что ответ - нет, мы можем добавить один?

2 ответа

В адаптере вы можете получить пользовательский агент, который клиент отправил так:

var clientRequest = WL.Server.getClientRequest();
var userAgent = clientRequest.getHeader("User-Agent");

Если вы хотите передать этот заголовок бэкэнд-сервису:

var input = {
    method :'get',
    path : 'your/path',
    headers: {
        "User-Agent" : userAgent,
    }
};

var result=WL.Server.invokeHttp(input);

Когда вы вызываете процедуру адаптера, вы можете проверить сеть с помощью такого инструмента, как Wireshark. Там вы увидите, что заголовок User-Agent отправлен. Этот заголовок автоматически добавляется базовым Apache HTTPClient.

Тем не менее, вы можете добавить свои собственные заголовки. Согласно пользовательской документации дляWL.Server.invokeHttp:

Parameters:  
options - The invokeHttp function accepts the following JSON block of parameters:  
...  
...  
...  
headers. Optional. Defines the headers for the HTTP request.

Например:

var input = {
        method : 'get',
        headers: {foo: 'bar'},
        path : '/mypath'
};  
return WL.Server.invokeHttp(input);

Что касается его стоимости, он может не иметь никакой ценности для вас. Это просто часть стандарта.
Смотрите здесь для получения дополнительной информации (или Google для получения дополнительной информации): HTTP-заголовок запроса: переменная UserAgent

Другие вопросы по тегам