HTTP/2 UDRs
The HTTP/2 UDR types are designed to exchange data between the workflows, and can be viewed in the UDR Internal Format Browser.
The supported HTTP/2 UDRs are as follows:
Push
The Push UDR can be used for sending additional resources belonging to a request.
The following fields are included in the Push
UDR:
Field | Description |
---|---|
path (string) | Set the URI path to be used for the push. |
request (RequestCycle (http)) | The RequestCycle UDR the Push UDR belongs to. |
Cookie
The Cookie
UDR is used for including cookie information in Response
UDRs.
 The following fields are included in the Cookie
UDR:
Field | Description |
---|---|
domain (string) | The domain to which the cookie belongs. |
expires (string) | The date and time when the cookie expires. |
httponly (boolean) | If set to |
name (string) | The name of the cookie. |
path (string) | The path to the page the cookie belongs to, for example "mydomain.com/mypage.html". |
secure (boolean) | Indicates whether the data is sent in secure mode or not. |
value (string) | The value of the cookie. |
Response
The Response
 UDR contains the response to the request and is incorporated in the RequestCycle
UDR.
The following fields are included in the Response
UDR:
Field | Description |
---|---|
body (any) | This field contains the message body, that is, the payload, of the response. For HEAD requests, a body is never present in the response. For all other request methods, responses are present with the following exceptions:
|
cookies (list<CookieUDR>) | This field contains any Cookie UDRs included. |
headers (map<string,list<string>>) | This field is populated by all the headers present in the response. The map keys contain header field names and the content is stored in the corresponding map values. |
httpVersion (string) | This field contains the HTTP version; HTTP/1 or HTTP/2. |
mimetype (string) | The type of the content, for example "text/html", "image/gif", etc. |
openAPIUDR (DRUDR) | This field is used if an OpenAPI profile has been associated with the HTTP/2 Server agent. |
statusCode (int) | The HTTP status code, for example: 200 - OK, 404 - Not Found, etc. |
MultipartSegment
The MultipartSegment
UDR is used when sending requests containing multiple types of content, or when the content has been split up in multiple parts.
 The following fields are included in the MultipartSegment
UDR:
Field | Description |
---|---|
content (bytearray) | The body of the message. |
contentType (string) | The type of the content, for example "multipart/form-data ", "multipart/mixed" , etc. |
filename (string) | The actual file name, for example "img.jpg". |
name (string) | An informal name of the file, for example "myFile". |
AuthToken
The AuthToken
UDR is used for providing token information when the option Token Authentication is selected in the agent's configuration.
The following fields are included in the AuthToken
UDR:
Field | Description |
---|---|
claims (map<sting,any>) | The payload and any additional claims, that is, any additional user information required for authentication, for example website or zoneinfo. |
token (string) | The security token used for authentication. |
username (string) | The user name. |
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 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:
Field | Description |
---|---|
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 For instance, before you route a |
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 |
parameters (map<string,string>) | This field contains any SETTINGS parameters included, for example Header Table Size, Max Concurrent Streams, etc. |
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 |
secure (boolean) | Indicates whether the data is sent in secure mode or not. |
username (string) | The username for the account on the HTTP server. |