app like that
HTTL
HTTL

A programming language designed to simplify and streamline HTTP calls. Includes documentation and a VS Code extension.

Features

First HTTP Programming Language

HTTL is designed as the first programming language specifically for HTTP, aiming to simplify and streamline HTTP calls.

OpenAPI Spec Integration

Allows users to easily make GET requests using an OpenAPI specification, providing suggestions for available paths and methods.

VS Code Extension

An extension for Visual Studio Code is available to enhance development workflows with HTTL.

Declarative API Queries

Allows you to write API queries in a way similar to SQL, making it easier to write and manage HTTP queries.

Variable Storage

Enables storing results of HTTP queries in variables for later reference in subsequent queries.

Integration Language

Facilitates integration between different systems by allowing queries for multiple APIs in a single file, simplifying data exchange and orchestration.

Global Authorization Header

Allows you to set a global authorization header that will be used in all requests, making it easier to authenticate multiple requests.

JSON Response Handling

Automatically handle JSON response bodies by storing them in variables for easy access and manipulation.

Request Assertions

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.

Declarative Language for API Queries

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.

Integration Language

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.

Visual Studio Code Extension

HTTL is available as a Visual Studio Code extension, enabling you to write and execute HTTP queries directly within the IDE.

.httl File Creation

Allows users to create files with the .httl extension to write queries, facilitating organization of HTTP work.

Query Execution

Users can run HTTP queries through a simple interface with options to execute using 'Run' or keyboard shortcuts in supported IDEs.

Simplicity

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.

Flexibility

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.

Modularity

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.

OpenAPI Integration

Provides an easy way to connect with OpenAPI specifications, facilitating type checking and IntelliSense for more efficient API management.

Testability

Supports easy testing of output without requiring complex setups, scripting, or external tool integrations.

Extensibility

The language is designed to be extendable, allowing users to write their own plugins to expand functionality.

Request Line

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.

Headers

Customize headers to manage response content type, authorization, and more, letting you control how requests are structured and sent.

Body

Allows inclusion of additional data sent with POST requests. Supports JSON, URL-encoded forms, and form-data formats for diverse data handling needs.

Variables

Supports parameterization by capturing values from the responses for use in subsequent requests, helping in automated testing scenarios.

Assert

Enables validation of response data and structure using JavaScript. It checks expected outcomes directly within the requests.

Multiple Requests

Allows sending of several requests simultaneously or sequentially for comprehensive testing workflows and performance checks.

API Object

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.

Module Import

Modules can be imported using the 'use' statement. This feature allows for organizing and reusing code, similar to JavaScript modules, enhancing simplicity and readability.

Default .httl File

Provides a default configuration loaded into every file, automatically applying global headers, directives, and variables. It simplifies setting common configurations for all files.

Syntax Rules

Headers follow a simple key-value syntax with requirements such as a single line declaration and automatic trimming of whitespace.

Header Types

Distinguishes between Request Headers, which apply to a specific HTTP request, and Global Headers, which apply to all requests in the file.

Request Header

Request headers are specified immediately after a request declaration and apply only to that specific request.

Global Header

Global headers are applied to all subsequent requests within a file, useful for authentication headers, defining common content types, and API-wide configurations.