def format_HTTP_message(message)
      message = {
        # Request Parameters
        'body' =>        message['body']        || "",
        'verb' =>        message['verb']        || "GET",
        'headers' =>     message['headers']     || {},
        'path' =>        message['path']        || "/",
        'query' =>       message['query']       || {},

        # Location
        'scheme' =>      message['protocol']    || 'http',
        'host' =>        message['hostname']    || '127.0.0.1',
        'port' =>        message['port']        || 8080,

        # Custom Authentication
        'session'    =>  message['session']
      }

      message
    end
def format_HTTP_message(message)
      message = {
        # Request Parameters
        'body' =>        message['body']        || "",
        'verb' =>        message['verb']        || "GET",
        'headers' =>     message['headers']     || {},
        'path' =>        message['path']        || "/",
        'query' =>       message['query']       || {},

        # Location
        'scheme' =>      message['protocol']    || 'http',
        'host' =>        message['hostname']    || '127.0.0.1',
        'port' =>        message['port']        || 8080,

        # Custom Authentication
        'session'    =>  message['session']
      }

      message
    end
format the HTTP message

 The entire body is a JSON string with the keys:

 Request Information:

 1. *body*: A string of body information
 2. *verb*: The HTTP verb for the query, e.g. GET
 3. *headers*: an object with headers in is, e.g. {"X-HEADER-KEY": "value"}
 4. *path*: the path of the request, e.g. "/v1/users/1337"
 5. *query*: an object with keys for query, e.g. {'search': 'flux'}

 Call information:

 1. *scheme*: the scheme used for the call
 2. *host*: the host called to make the call
 3. *port*: the port the call was made on

 Authentication information:

 1. *session*: undefined structure that can be passed in the message
 so that a service does not need to re-authenticate with each message