RemoteHost

Summary

An API Manager-registered remote host.

Description

Remote hosts are employed at runtime when the API Gateway makes outbound connections to backend services via frontend API invocations.

Fields

Field Name Type Since Version Description
id String The unique identifier for the remote host
name String The host name of the remote host
port Integer The host port of the remote host
createdOn Long Epoch/Unix time stamp when the remote host was created
createdBy String The unique identifier for user that created the remote host
organizationId String The organization identifier to which the remote host belongs
maxConnections Integer The maximum number of connections to open to a Remote Host. If the maximum number of connections has already been established, the API Gateway instance waits for a connection to drop or become idle before making another request. The default value is -1, meaning there is no limit
allowHTTP11 Boolean Enables the API Gateway to use HTTP 1.1 when connecting to the remote host. Default value is false, meaning HTTP 1.0 is used
includeContentLengthRequest Boolean If this option is set, the API Gateway will include the Content-Length HTTP header in all requests to this Remote Host. Default value is false.
includeContentLengthResponse Boolean If this option is set, if the API Gateway receives a response from this Remote Host that contains a Content-Length HTTP header, it returns this length to the client. Default value is false.
offerTLSServerName Boolean Adds a field to outbound TLS/SSL calls that shows the name that the client used to connect. Default value is false.
verifyServerHostname Boolean Ensures that the certificate presented by the server matches the name of the remote host being connected to. This prevents host spoofing and man-in-the-middle attacks. Default value is false.
connectionTimeout Long If a connection to this remote host is not established within the time set in this field, the connection times out and the connection fails. Default value is 30000 milliseconds (30 seconds).
activeTimeout Long The maximum amount of time permitted between reading successive blocks of data. If the Active Timeout is exceeded, the API Gateway closes the connection. This prevents a Remote Host from closing the connection while sending data. Default value is 30000 milliseconds (30 seconds).
transactionTimeout Long The maximum amount of time permitted to complete the transaction. Default value is 240000 milliseconds (4 minutes).
idleTimeout Long The maximum amount of time that API Gateway waits after sending a message over a persistent connection to the Remote Host before it closes the connection. Default value is 15000 milliseconds (15 seconds).
maxReceiveBytes Long The maximum amount of data the API Gateway can receive per transaction. Default value is 10485760 bytes (10Mb).
maxSendBytes Long The maximum amount of data the API Gateway can transmit per transaction. Default value is 10485760 bytes (10Mb).
inputBufferSize Long The maximum amount of memory allocated to each request. Default value is 8192 bytes.
outputBufferSize Long The maximum amount of memory allocated to each response. Default value is 8192 bytes.
addressCacheTimeout Long The period of time to cache addressing information after it has been received from the naming service. Default value is 300000 milliseconds (5 minutes)
sslSessionCacheSize Integer Specifies the size of the SSL session cache for connections to the remote host, which controls the number of idle SSL sessions that can be kept in memory. Default value is 32.
inputEncodings [String] Specifies the HTTP content encodings that the API Gateway can accept from peers. Supported encodings: deflate, gzip. If no encodings are specified the default encoding is applied.
outputEncodings [String] Specifies the HTTP content encodings that the API Gateway can apply to outgoing messages. Supported encodings: deflate, gzip. If no encodings are specified the default encoding is applied.
exportCorrelationId Boolean Specifies whether to add the X-CorrelationID header to outbound messages

Example JSON

{
  "id" : "3e21b76a-defa-49ab-9682-a9cd60387e37",
  "name" : "www.google.com",
  "port" : 80,
  "createdOn" : 1364287486876,
  "createdBy" : "de077cd8-83b7-46d1-b06f-2eaaf1548898",
  "organizationId" : "3e21b76a-defa-49ab-9682-a9cd60387e37",
  "maxConnections" : 128,
  "allowHTTP11" : false,
  "includeContentLengthRequest" : false,
  "includeContentLengthResponse" : false,
  "offerTLSServerName" : false,
  "verifyServerHostname" : false,
  "connectionTimeout" : 30000,
  "activeTimeout" : 30000,
  "transactionTimeout" : 240000,
  "idleTimeout" : 15000,
  "maxReceiveBytes" : 10485760,
  "maxSendBytes" : 10485760,
  "inputBufferSize" : 8192,
  "outputBufferSize" : 8192,
  "addressCacheTimeout" : 300000,
  "sslSessionCacheSize" : 32,
  "inputEncodings" : [ "deflate", "gzip" ],
  "outputEncodings" : [ "deflate", "gzip" ],
  "exportCorrelationId" : true
}