9.41.3.6 RequestCycle

When the HTTP/2 Server agent receives a request it converts it to a RequestCycle UDR that is routed into the workflow. The UDR will then get the 9.42.3.3 Response field populated in the workflow before being routed back to the HTTP/2 Server agent.

The following fields are included in the RequestCycle UDR:

FieldDescription
authToken (HttpAuthTokenUDR)If Token Authentication is selected in the agent configuration, the AuthToken UDR contains the required information for authentication.
body (bytearray)

This field contains the message body, that is the payload, of the request. For a request, the presence of a message body is indicated by the presence of a Content-Length or Transfer-Encoding field.

clientHost (string)

The IP address or hostname of the client that is connecting to the server.

clientPort (int)

The port of the client that is connecting to the server.

contentType (string)

The type of the content, for example "text/html", "image/gif", etc.

context (any)

This field can be used in the workflow configuration to keep track of, and use, internal workflow information related to a RequestCycle UDR.

For instance, before you route a RequestCycle UDR to the HTTP/2 agent, store the TCPIPUDR from a TCP/IP collection agent in the Context field. You can then read the TCPIPUDR from the Context field in the RequestCycle UDR that contains the answer, and use it to send back a response to the TCP/IP collection agent.

cookies (list<string>)

Information about any cookies attached to the request.

headers (map<string,list<string>>)

This field is populated by all the headers present in the request, for example Date, Connection. The map keys contain header field names and the content is stored in the corresponding map values.

host (string)

The hostname or IP address where the HTTP server is running.

httpVersion (string)

This field contains the HTTP version; HTTP/1 or HTTP/2.

method (string)

The request method, for example GET or POST.

HTTP/2 supports the following methods; GET, POST, PUT, DELETE, and PATCH.

HEAD, CONNECT, OPTIONS, and TRACE are not supported.

multipartSegments (list<MultipartSegment (http)>)

If the request is of a multipart type, this field contains MultipartSegment UDRs.

parameters (map<string,string>)

This field contains any request parameters included, e.g. Header Table Size, Default connection concurrent streams etc.

multiValuedParameters (map<String,List<String>>)This field is used for passing multiple values for the same request parameter in realtime HTTP2 client. However, it is not advised to populate both the parameters and multiValuedParameters fields together as it can cause unexpected results due to the configuration on the server.
password (string)

The password associated with the username for the account on the HTTP server.

path (string)

The path of the target URI.

port (string)

The HTTP server port number.

pushSupported (boolean)

Indicates whether push is supported. Push can be used with HTTP/2 but not with HTTP/1.

requestTimeout (int)

The number of milliseconds to wait for a response.

response (Response (http))

This field is populated by the contents of Response UDR.

secure (boolean)

Indicates whether the data is sent in secure mode or not.

username (string)

The username for the account on the HTTP server.