PreEmptive Analytics Data Hub User Guide

HTTP Details

This sections provides details about how the Data Hub interprets HTTP responses, and about how it processes HTTP headers.

Response Handling

When a request is made from the Dispatch Service to a destination, the response is interpreted as belonging to one of three categories: success, offline, or error.

Success Responses

A success response indicates that the destination accepted the message. Any 2xx HTTP status code is considered a successful response.

Offline Responses

An offline response indicates that the destination is failing to respond to requests of any kind. A response is considered an offline response if:

  • There is an error accessing the destination, such as a hostname not found, network timed out, etc.
  • The destination returns HTTP status code 404, Not Found.
  • The destination returns HTTP status code 501, Not Implemented.
  • The destination returns HTTP status code 502, Bad Gateway.
  • The destination returns HTTP status code 503, Service Unavailable.
  • The destination returns HTTP status code 504, Gateway Timeout.
  • The destination returns HTTP status code 505, HTTP Version Not Supported.

Error Responses

An error response indicates that the destination rejected this message in particular. A response is considered an error response if:

  • The destination returns a 4xx or 5xx HTTP status code besides 404 or 501-505.
  • Any other kind of error occurs during dispatch besides those covered by Offline Responses.

Header Processing

The Data Hub acts much like a network proxy, in that it receives connections from clients and forwards them to destinations, preserving the message body byte-for-byte. Message headers, on the other hand, must sometimes be modified to ensure correct delivery of messages. This section describes the modifications that are made by the Data Hub after the message is received from the client and before it is delivered to the destination.

The following headers are explicitly set by the Hub for all outgoing requests, ignoring the original value sent by the client:

  • Connection or Proxy-Connection
  • Expect
  • Host
  • X-Forwarded-Proto
  • X-RI-Capabilities (Indicates functionality of this product)

The following headers are updated appropriately before sending (if the original incoming request did not have them, they are added):

  • Via
  • X-Forwarded-For
  • X-PreEmptive-Hub (Indicates that the message passed through a Data Hub)

The following headers are copied from the original incoming request to the outgoing request, or are omitted if they were not originally present:

  • Content-Length
  • Content-Type
  • DNT
  • SOAPAction
  • User-Agent
  • All headers with either the X-RI or X-PreEmptive prefix, unless otherwise mentioned.

The Date header is preserved if present and a valid date; otherwise, the header is explicitly set.

The X-PreEmptive-ReceiveDate header is preserved if present; otherwise, the header is explicitly set.

All other headers are removed before sending.



Data Hub Version 1.5.0. Copyright © 2015 PreEmptive Solutions, LLC