exponenta event banner

changeFields

Класс: matlab.net.http.Message
Пакет: matlab.net.http

Изменение существующих полей в заголовке сообщения

Описание

пример

msg = changeFields(msg,fields) изменяет существующие поля в каждом сообщении на имена, значения и типы, указанные в fields и возвращает обновленное сообщение. Этот синтаксис может изменить класс существующего поля, если имя поля не соответствует имени в fields.

Этот метод выдает ошибку, когда:

  • Все указанные поля еще не находятся в заголовке.

  • Существует несколько полей с указанным именем.

msg = changeFields(msg,FieldName1,FieldValue1,...,FieldNameN,FieldValueN) изменяет поля с указанными именами на указанные значения.

Сопоставление имен не учитывает регистр. Однако если указать имя, которое отличается в случае от существующего имени поля, то имя поля изменится на указанное имя. Это использование не изменяет класс существующего поля.

Входные аргументы

развернуть все

Сообщение, указанное как matlab.net.http.Message объект.

Изменяемые поля, указанные как векторный или разделенный запятыми список из одного или нескольких matlab.net.http.HeaderField объекты.

Пример: 'Accept','text/plain'

Поля, определенные парами имя-значение. FieldName указывается как строковый или символьный вектор, и FieldValue указан как любой тип, действительный для FieldName.

Чтобы использовать значение по умолчанию для поля, установите FieldValue кому ''.

Если последнее значение отсутствует, оно совпадает с указанием пустого значения ([]).

Примеры

развернуть все

Создайте два поля Content-Length с помощью HeaderField класс и его подкласс, ContentLengthField. Измените значение поля Content-Length в сообщении, которое изменяет класс поля, в зависимости от способа создания исходного поля заголовка.

Создайте два файла заголовка с одинаковыми свойствами. Поля имеют одно и то же значение, но классы различаются.

h1 = matlab.net.http.HeaderField('Content-Length',5);
h2 = matlab.net.http.field.ContentLengthField(5);
compareNames = eq(h1.Name,h2.Name)
compareNames = logical
   1

compareValues = eq(h1.Value,h2.Value)
compareValues = logical
   1

Создание сообщения запроса с помощью h1 поле заголовка и отображение его класса.

r = matlab.net.http.RequestMessage;
r.Header= h1;
h1Class = class(r.Header)
h1Class = 
'matlab.net.http.HeaderField'

Измените поле заголовка Content-Length с помощью h2 поле заголовка. Класс поля заголовка изменяется.

r1 = r.changeFields(h2);
h2Class = class(r1.Header)
h2Class = 
'matlab.net.http.HeaderField'

Измените поле заголовка Content-Length, используя пару имя-значение. Класс поля заголовка не изменяется.

r1 = r.changeFields('Content-length',5);
class(r1.Header)
ans = 
'matlab.net.http.HeaderField'
Представлен в R2016b