HTTP Data Source

An HTTP data source is when a database is connected and interacted with via an external server that makes HTTP requests.

Interacting with a non-HTTP data source would mean that manipulating data—reading, writing, updating, etc.—would occur by interfacing directly with the server.

An HTTP data source can still be a regular data source, it is just interacted with in a different way—through a server, rather than directly.

Examples

HTTP servers include REST APIs, GraphQL, SOAP API, and more. HTTP commands are typically used to interact with APIs, which are protocols that allow outside users to manipulate data directly and automatically.

Connecting an HTTP data source to Internal

You can connect Internal to any third-party platform with an external-facing API or create new Internal functionality from your existing APIs.

Configuring an HTTP data source in Internal

To connect, you simply need to specify Name, Host, Port, and then include whatever usernames and passwords are necessary.

More information and instructions can be found in our HTTP Data Source Setup documentation.

HTTP Functions

Internal offers robust functionality to interact with HTTP data sources. The URL parameters and Headers are set as Javascript literals, and the Body of the request accepts Javascript for flexible purposes:

  • None: Will not send a body with this request (typically used for GET and HEAD)
  • Form: Add names and values for your form. Select from URL-encoded or multi-part form.
  • JSON: Enter in your JSON body (must be in proper JSON syntax).‍
  • GraphQL: Enter in your graphQL query in the first box. In the second box, you can add your query variables, formatted as a JSON object. ‍
  • Plain Text: Enter in plaintext for the body. If left empty, the request will send a body with an empty string. 
  • Binary: Use to transmit raw bytes as the body of your HTTP request. (for files, you can uses parameters to specify file.name, file.type, and file.data)

Check out the custom HTTP functions documentation for a detailed description, including setup help.