HTTP

Description

iRules feature many commands that are specifically designed to query for or manipulate certain types of HTTP headers and data. Data manipulation in this case refers to inserting, replacing, and removing data, as well as setting certain values found in headers and cookies.

Command List

  • HTTP::class - Returns or sets the HTTP class selected by the HTTP selector.
  • HTTP::close - Closes the HTTP connection.
  • HTTP::collect - Collects an amount of HTTP body data that you specify.
  • HTTP::cookie - Queries for or manipulates cookies in HTTP requests and responses.
  • HTTP::disable - Changes the HTTP filter from full parsing to passthrough mode.
  • HTTP::enable - Changes the HTTP filter from passthrough to full parsing mode.
  • HTTP::fallback - Specifies or overrides a fallback host specified in the HTTP profile.
  • HTTP::has_responded - returns true if this HTTP transaction has been prematurely completed by an iRule command or other filter logic
  • HTTP::header - Queries or modifies HTTP headers.
  • HTTP::host - Returns the value of the HTTP Host header
  • HTTP::hsts - controls HTTP Strict Transport Security
  • HTTP::is_keepalive - Returns a true value if this is a Keep-Alive connection.
  • HTTP::is_redirect - Returns a true value if the response is a redirect.
  • HTTP::method - Returns the type of HTTP request method.
  • HTTP::passthrough_reason - returns the reason for the most recent switch to pass-through mode by the HTTP filter
  • HTTP::password - Returns the password part of HTTP basic authentication.
  • HTTP::path - Returns or sets the path part of the HTTP request.
  • HTTP::payload - Queries for or manipulates HTTP payload information.
  • HTTP::proxy - controls whether the BIG-IP will handle the proxy of the connection locally or send it to a downstream pool
  • HTTP::query - Returns the query part of the HTTP request.
  • HTTP::redirect - Redirects an HTTP request or response to the specified URL.
  • HTTP::reject_reason - returns the reason HTTP is aborting
  • HTTP::release - Releases the data collected via HTTP::collect.
  • HTTP::request - Returns the raw HTTP request headers.
  • HTTP::request_num - Returns the number of HTTP requests that a client made on the connection.
  • HTTP::respond - Generates a response to the client as if it came from the server.
  • HTTP::response - Returns the raw HTTP response header block as a single string.
  • HTTP::retry - Resends a request to a server.
  • HTTP::status - Returns the response status code.
  • HTTP::uri - Returns or sets the URI part of the HTTP request.
  • HTTP::username - Returns the username part of HTTP basic authentication.
  • HTTP::version - Returns or sets the HTTP version of the request or response.

Event List

  • HTTP_CLASS_FAILED - Triggered when an HTTP request is made to a virtual server with at least one HTTP class configured. and the request does not match the filters of any HTTP class.
  • HTTP_CLASS_SELECTED - Triggered when an HTTP request matches an HTTP class.
  • HTTP_DISABLED - triggered when HTTP is disabled
  • HTTP_PROXY_CONNECT - triggered when proxy chaining via use of the HTTP_PROXY_CONNECT profile
  • HTTP_PROXY_REQUEST - Triggered when a virtual server has proxy-mode explicit
  • HTTP_PROXY_RESPONSE - triggered when the response from the remote HTTP proxy is received
  • HTTP_REJECT - triggered when HTTP aborts the connection
  • HTTP_REQUEST - Triggered when the system fully parses the complete client HTTP request headers.
  • HTTP_REQUEST_DATA - Triggered when an HTTP::collect command has collected the specified amount of request data.
  • HTTP_REQUEST_SEND - Triggered immediately before an HTTP request is sent to the server-side TCP stack.
  • HTTP_RESPONSE - Triggered when the system parses all of the response status and header lines from the server response.
  • HTTP_RESPONSE_CONTINUE - Triggered whenever the system receives a 100 Continue response from the server.
  • HTTP_RESPONSE_DATA - Triggered when an HTTP::collect command has collected the specified amount of response data.
  • HTTP_REQUEST_RELEASE - Triggered when the system is about to release HTTP data on the serverside of the connection.
  • HTTP_RESPONSE_RELEASE - Triggered when the system is about to release HTTP data on the clientside of the connection.