Изменения в драйвере HTTP - SendEx

В версии iRIdiumMobile 3.0 драйвер HTTP был переработан. Добавлен новый функционал:
Сейчас можно самостоятельно формировать пакет для отправки.



Отправка данных на устройство

IR.GetDevice("AV & Custom Systems (HTTP)").SendEx(
{
Type: "Тип формирования запроса", Возможны такие как GET, POST, PUT.
Url: "Ссылка к обращаемому обьекту",
Для POST и PUT запроса так-же доступно поле Data
Data: [""],



Далее описывается блок Header, иное название, Заголовок. Точнее это то, что отправляется, а еще точнее как должен представить ваш клиент к обращаемому серверу.
Headers: {
"Accept": "application/xml;",
"Accept-Language": "de,en-us;q=0.7,en;q=0.3",
"User-Agent" : "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
},
Добавлен новый функционал. Сейчас появилась возможность получать ответ от сервера на каждый запрос. Например, на определенный запрос, сейчас можно повесить свой ресив. Раньше был только один, общий, ресив на весь драйвера.



cbReceiveData - Функция обработки ресива в формате DATA, с параметрами:
data - данные,
code - ответ от сервера,
headers - заголовки.

cbReceiveData: function(data, code, headers) { IR.Log("Получение данных в формате Data: \n Code ответа от сервера: " + code + "\n Данные: "+ data); },

cbRecieveText
- Функция обработки от ресива в формате TEXT, с параметрами:
data - данные,
code - ответ от сервера,
headers - заголовки.


cbReceiveText: function(text, code, headers) {IR.Log("Получение данных в формате Text: \n Code ответа от сервера: " +code + "\n Данные: " + text + "\n Заголовки: " + headers);},

cbRecieveKey - Функция обработки заголовков, с параметрами:
key - заголовок
value - значение заголовка.
cbReceiveKey: function(key, value) {IR.Log("Заголовки : "+ key + "\n Значение заголовков: "+ value);},

cbReceiveCode
- Функция ответа от сервера, с параметрами:
code - ответ от сервера.
cbReceiveCode: function(code) {IR.Log("Code ответа от сервера: "+code);},

cbRecieveStartBody - функция начала обработки работы с потоком
cbReceiveStartBody: function() {},

cbRecievePartBody
- Функция "тела" обработки и получения потока.
cbReceivePartBody: function(stream) {IR.Log("Получение данных в формате ByteStream(Обьект данных): "+stream);},

cbRecieveEndBody - Функция окончания обработки работы с потоком
cbReceiveEndBody: function(size) {IR.Log("Размер полученого потока (Stream): "+size);} ,

cbTimeOut - Функция обработки, когда время ожидание ответа от сервера.
cbTimeOut: function() {IR.Log("cbTimeOut: TimeOut")},

cbRecieveStream - Функция обработки потоков.
cbReceiveStream: function(stream, code, headers) { IR.Log("Получение данных в формате ByteStream: \n Code ответа от сервера: " +code + "\n Обьект данных: " + stream); }
})
Посмотреть как это раелизовано в драйвере, можно в прикрепленном проекте Full test HTTP_v2.irpz

Dit artikel is nuttig voor 6 personen. Is dit artikel nuttig voor u?