Адаптер 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