awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Orange-OpenSource avatar

Orange-OpenSource/hurl

0
View on GitHub↗
19,008 stars·729 forks·Rust·Apache-2.0·25 viewshurl.dev↗

Hurl

Hurl is a command line HTTP testing tool and REST API test runner that uses a declarative, plain-text format to specify HTTP requests and responses. It functions as a client for continuous integration pipelines, allowing users to describe request sequences without a full programming language.

The tool distinguishes itself by sequencing HTTP calls and verifying responses through matchers and variable capture. It maintains a stateful variable store, enabling data extracted from one response to influence subsequent requests within a workflow.

The system covers API integration testing and REST workflow automation, featuring dynamic request body templating and multipart form data transmission. It includes security primitives for request authentication, SSL certificate verification, and the redaction of sensitive data from logs. Network traffic management is handled through proxy routing, redirect chain management, and automatic request retries.

Execution outcomes are processed through pluggable result exporters that generate standardized reports for integration into continuous delivery workflows.

Features

  • Declarative Request Definitions - Uses a declarative plain-text format to specify HTTP requests and response sequences.
  • Session Variable Stores - Maintains a stateful variable store to allow data from one response to influence subsequent calls.
  • Command-Line HTTP Clients - Provides a command line tool for defining HTTP requests and validating responses using a plain text format.
  • Declarative API Specifications - Offers a declarative way to describe HTTP request and response sequences without using a full programming language.
  • Request Sequencing - Executes a sequence of HTTP calls in a specific order while managing shared state between requests.
  • HTTP Response Processors - Extracts values from HTTP responses to be used as stateful variables in subsequent requests.
  • API Workflow Automation - Executes sequences of HTTP requests where data from one response is used as a variable in the next.
  • API Testing - Validates the correctness of API responses and status codes using a plain text format for automated checks.
  • HTTP Response Assertions - Evaluates response attributes against predefined matchers to determine the success or failure of API calls.
  • REST API Testing Tools - Provides an execution engine that sequences HTTP calls and verifies API responses using matchers and variable capture.
  • End-to-End Testing - Verifies end-to-end interactions between services by simulating real-world HTTP request and response chains.
  • Response Validation - Provides matchers and queries to verify that HTTP response status codes, headers, and bodies meet expected criteria.
  • CI/CD Integrations - Functions as a test runner for HTTP APIs that integrates into CI pipelines via standardized execution reports.
  • Request Retries - Implements automatic re-attempting of failed network requests when assertions or status codes trigger errors.
  • CI/CD Pipeline Integrations - Generates standardized execution reports to ensure API stability within continuous integration and delivery pipelines.
  • HTTP Request Orchestrators - Allows defining and running complex HTTP calls with dynamic bodies and authentication to prototype API behavior.
  • Authenticated Request Clients - Ships a client capable of dispatching HTTP requests with authorization headers and identity tokens.
  • Domain Specific Languages - Implements a custom plain-text DSL to convert request definitions into a sequential execution pipeline.
  • CI Test Exporting - Provides standardized test result exports for integration into continuous integration pipelines.
  • Test Report Exporters - Provides pluggable result exporters that generate standardized reports for integration into continuous delivery workflows.
  • Dynamic Body Templating - Injects dynamic values like timestamps or unique identifiers into JSON, XML, or plain text request bodies.
  • Variable Injection - Replaces placeholders in request bodies with dynamic values from the variable store before transmission.
  • API Clients and Debuggers - CLI tool for running HTTP requests defined in plain text.
  • API Testing and Validation - Command-line tool for testing REST, SOAP, and GraphQL endpoints.
  • API Testing Tools - A tool for running HTTP requests defined in plain text.
  • Security Utilities - Runs and tests HTTP requests.
  • Testing Frameworks - CLI tool for running HTTP requests via plain text.
  • API Clients - Tool for working with REST, SOAP, and GraphQL APIs.

Star history

Star history chart for orange-opensource/hurlStar history chart for orange-opensource/hurl

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does orange-opensource/hurl do?

Hurl is a command line HTTP testing tool and REST API test runner that uses a declarative, plain-text format to specify HTTP requests and responses. It functions as a client for continuous integration pipelines, allowing users to describe request sequences without a full programming language.

What are the main features of orange-opensource/hurl?

The main features of orange-opensource/hurl are: Declarative Request Definitions, Session Variable Stores, Command-Line HTTP Clients, Declarative API Specifications, Request Sequencing, HTTP Response Processors, API Workflow Automation, API Testing.

What are some open-source alternatives to orange-opensource/hurl?

Open-source alternatives to orange-opensource/hurl include: postmanlabs/newman — Newman is a headless API client and command line tool for executing Postman collections. It serves as an API test… ducaale/xh — xh is a command-line HTTP client used for sending network requests, testing REST APIs, and debugging connections. It… rest-assured/rest-assured — Rest-assured is a Java-based REST API testing framework and HTTP client library designed for automating web service… httpie/cli — This project is a terminal-based HTTP client designed for interacting with web services, debugging APIs, and… dequelabs/axe-core — axe-core is an automated accessibility testing engine and compliance auditor designed to scan web and mobile… keploy/keploy — Keploy is an automated testing platform that leverages kernel-level traffic interception to generate and maintain…

Open-source alternatives to Hurl

Similar open-source projects, ranked by how many features they share with Hurl.
  • postmanlabs/newmanpostmanlabs avatar

    postmanlabs/newman

    7,192View on GitHub↗

    Newman is a headless API client and command line tool for executing Postman collections. It serves as an API test automation tool and execution engine that allows users to run predefined sets of API requests without a graphical interface. The project differentiates itself as a data-driven testing engine, capable of iterating through request sequences using external JSON or CSV files to validate multiple sets of input values. It also functions as an API execution reporter, utilizing a plugin-based interface to output results in formats such as JSON and JUnit. The tool covers broad capability

    JavaScriptapi-testapi-testingci
    View on GitHub↗7,192
  • ducaale/xhducaale avatar

    ducaale/xh

    7,880View on GitHub↗

    xh is a command-line HTTP client used for sending network requests, testing REST APIs, and debugging connections. It functions as a terminal-based tool for executing requests with custom headers and bodies, while providing built-in formatting for network responses. The project includes a generator that converts configured network requests into equivalent shell commands for use in a standard terminal. It also features a response formatter that applies syntax highlighting and custom formatting to response headers and bodies to improve readability. The tool covers a broad range of network capab

    Rustapi-testingclideveloper-tools
    View on GitHub↗7,880
  • rest-assured/rest-assuredrest-assured avatar

    rest-assured/rest-assured

    7,127View on GitHub↗

    Rest-assured is a Java-based REST API testing framework and HTTP client library designed for automating web service tests. It provides a fluent domain-specific language and assertion library to send HTTP requests and validate response metadata, including status codes, headers, cookies, and bodies. The framework is distinguished by a method-chaining DSL that creates readable specifications for API interactions. It features a filter-based request interception pipeline, object-mapping serialization for converting Java objects to JSON or XML, and a path-based parsing system to isolate specific fi

    Java
    View on GitHub↗7,127
  • httpie/clihttpie avatar

    httpie/cli

    38,228View on GitHub↗

    This project is a terminal-based HTTP client designed for interacting with web services, debugging APIs, and automating network requests. It provides a specialized command-line interface that simplifies the construction of complex HTTP exchanges, allowing users to test and inspect web services directly from the shell. The tool distinguishes itself through a declarative syntax engine that translates shorthand command-line tokens into fully formed HTTP requests, including headers, parameters, and body payloads. It features a modular, plugin-based architecture that enables users to extend core f

    Pythonapiapi-clientapi-testing
    View on GitHub↗38,228
See all 30 alternatives to Hurl→