getFields

Class: matlab.net.http.Message, matlab.net.http.RequestMessage, matlab.net.http.ResponseMessage
Package: matlab.net.http

Return message header fields matching name or class

Description

example

[fields,indices] = getFields(messages,ids) returns fields and their indices in the messages that match the given IDs.

Input Arguments

expand all

Messages, specified as a vector of matlab.net.http.Message objects.

Example: getFields([msg1,msg2],'Date')

Names to match, specified as one of the following.

  • String vector, character vector, cell array of character vectors, or comma-separated list of strings or character vectors containing the names of the fields to return. Names are not case-sensitive.

  • Vector or comma-separated list of one or more matlab.net.http.HeaderField objects whose Name properties are used to determine which fields to return. Names are not case-sensitive. Header field values in these objects are ignored.

  • Vector or comma-separated list of meta.class objects that are subclasses of HeaderField.

    The getFields method searches for names that match names supported by the specified classes, regardless of the class. If a subclass does not have a specific set of supported names, all header fields of that subclass are matched regardless of their names. Call the HeaderField.displaySubclasses method to see supported names.

Example: getFields(response,'Date','Content-Type')

Output Arguments

expand all

Fields matching input, returned as an array of matlab.net.http.HeaderField objects. If no matches exist, getFields returns an empty HeaderField array. The name search is case-insensitive.

Index values of fields, returned as an array of integers, or [] if no match.

If messages is a vector, then getFields returns fields matching ids from all messages. indices is a cell array of vectors, where indices{i} contains the indices of the matching fields in messages{i}.

Examples

expand all

Add a missing Date header field to a request message using the RequestMessage.complete method.

Create a request message to get text from the MathWorks website.

uri = matlab.net.URI('https://www.mathworks.com');
req = matlab.net.http.RequestMessage;

Verify the message contains a Date field. The date value reflects your system information. The value indices{1} = [] indicates that req does not contain a Date field.

request = complete(req,uri);
[fields,indices] = getFields([req,request],?matlab.net.http.field.HTTPDateField)
fields = 
  DateField with properties:

     Name: "Date"
    Value: "Mon, 26 Aug 2019 15:08:54 GMT"

indices=1×2 cell
    {0x0 double}    {[3]}

Introduced in R2016b