A programming language designed to simplify and streamline HTTP calls. Includes documentation and a VS Code extension.
HTTL is designed as the first programming language specifically for HTTP, aiming to simplify and streamline HTTP calls.
Allows users to easily make GET requests using an OpenAPI specification, providing suggestions for available paths and methods.
An extension for Visual Studio Code is available to enhance development workflows with HTTL.
Allows you to write API queries in a way similar to SQL, making it easier to write and manage HTTP queries.
Enables storing results of HTTP queries in variables for later reference in subsequent queries.
Facilitates integration between different systems by allowing queries for multiple APIs in a single file, simplifying data exchange and orchestration.
Allows you to set a global authorization header that will be used in all requests, making it easier to authenticate multiple requests.
Automatically handle JSON response bodies by storing them in variables for easy access and manipulation.
Includes the ability to add assertions to each request to validate the status, headers, and body of the response, ensuring that API calls meet expected outcomes.
Allows you to write API queries in a manner similar to SQL. Lets you write HTTP queries, store results in variables, and reference those variables in subsequent queries.
Serves as an integration language between different systems. Enables you to write queries for multiple APIs in a single file, simplifying data exchange and orchestration.
HTTL is available as a Visual Studio Code extension, enabling you to write and execute HTTP queries directly within the IDE.
Allows users to create files with the .httl extension to write queries, facilitating organization of HTTP work.
Users can run HTTP queries through a simple interface with options to execute using 'Run' or keyboard shortcuts in supported IDEs.
Each clause, operator, and language construct are designed to be as streamlined as possible, allowing you to write less code. For instance, instead of writing complex syntax, you can define the base URL at the top of your file and simply use relative paths.
Allows running multiple requests within a single file and using the results of one request in another, which enables data transformations and complex workflows within the same file.
Enables the separation of code into different files, making it easier to manage and reuse code. For example, define authentication logic in one file and reuse it elsewhere.
Provides an easy way to connect with OpenAPI specifications, facilitating type checking and IntelliSense for more efficient API management.
Supports easy testing of output without requiring complex setups, scripting, or external tool integrations.
The language is designed to be extendable, allowing users to write their own plugins to expand functionality.
Defines the request method, path, and the HTTP version. It forms the starting line of any request and specifies what is being requested from the server.
Customize headers to manage response content type, authorization, and more, letting you control how requests are structured and sent.
Allows inclusion of additional data sent with POST requests. Supports JSON, URL-encoded forms, and form-data formats for diverse data handling needs.
Supports parameterization by capturing values from the responses for use in subsequent requests, helping in automated testing scenarios.
Enables validation of response data and structure using JavaScript. It checks expected outcomes directly within the requests.
Allows sending of several requests simultaneously or sequentially for comprehensive testing workflows and performance checks.
The API object is a virtual entity that serves as a centralized container for global headers, directives, and variables in a file. It is automatically created when a file begins processing, allowing easy configuration of requests.
Modules can be imported using the 'use' statement. This feature allows for organizing and reusing code, similar to JavaScript modules, enhancing simplicity and readability.
Provides a default configuration loaded into every file, automatically applying global headers, directives, and variables. It simplifies setting common configurations for all files.
Headers follow a simple key-value syntax with requirements such as a single line declaration and automatic trimming of whitespace.
Distinguishes between Request Headers, which apply to a specific HTTP request, and Global Headers, which apply to all requests in the file.
Request headers are specified immediately after a request declaration and apply only to that specific request.
Global headers are applied to all subsequent requests within a file, useful for authentication headers, defining common content types, and API-wide configurations.