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