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
rest-client avatar

rest-client/rest-client

0
View on GitHub↗
5,215 stars·930 forks·Ruby·MIT·17 viewsrubydoc.info/github/rest-client/rest-client/master↗

Rest Client

This is a Ruby HTTP client designed for REST API integration, resource modeling, and automated network communication. It provides a set of tools for managing headers, cookies, and SSL configurations, along with a dedicated command-line interface for executing one-off HTTP commands and managing interactive API testing sessions.

The project differentiates itself through its resource modeling capabilities, which allow for the definition of persistent base URLs and credentials to construct nested subresource endpoints. It also features a multipart request handler that detects MIME types to upload files and stream large payloads.

Broadly, the library covers network security through SSL and TLS configuration, traffic management via proxy routing and cookie jar maintenance, and performance optimizations using incremental streaming for both request payloads and response bodies. It also includes utilities for network activity logging and request execution interception.

Features

  • REST API Integrations - Provides comprehensive integration logic for communicating with remote services via RESTful HTTP endpoints.
  • HTTP Client Libraries - Provides a comprehensive library for performing synchronous and asynchronous HTTP requests and managing complex network interactions.
  • REST API Clients - Provides a client-side implementation for interacting with RESTful services using resource modeling and HTTP methods.
  • Cookie Management - Injects specific cookie values into outgoing requests and retrieves active cookies associated with URIs.
  • HTTP Cookie Management - Extracts cookies from responses and maintains a standards-compliant cookie jar for subsequent requests.
  • HTTP Request Customization - Provides tools for automating web requests with custom headers, payloads, and timeout settings.
  • HTTP Request Execution - Provides core capabilities for performing standard synchronous and asynchronous HTTP operations like GET and POST.
  • Secure Network Communication - Manages SSL/TLS certificates and proxy routing to ensure encrypted and controlled network communication.
  • TLS/SSL Configurations - Manages SSL and TLS configurations, including certificate validation and SSL versioning, to secure network communication.
  • HTTP Response Handling - Provides tools for extracting status codes, headers, and cookies from server responses.
  • HTTP Request Managers - Provides a robust set of tools for configuring and controlling HTTP communication parameters.
  • Streaming Transfers - Streams massive request payloads and response bodies directly to disk to prevent memory exhaustion.
  • Command-Line HTTP Clients - Includes a terminal-based utility for constructing and sending HTTP requests.
  • Command Line Interfaces - Ships a ready-to-run command-line application for executing HTTP commands and managing sessions.
  • Interactive Shells - Provides an interactive command-line session for manual API testing and exploration.
  • Response Body Streaming - Processes large incoming response bodies in fragments to minimize memory consumption during file downloads.
  • HTTP Payload Streaming - Sends file-like objects incrementally from disk to a server to avoid loading entire payloads into memory.
  • Request Timeout Management - Enforces global or per-request connection and read timeouts to prevent requests from hanging indefinitely.
  • Multipart Form Uploads - Implements capabilities for transmitting files and binary data using the HTTP multipart/form-data standard.
  • Persistent Resource Definitions - Allows storing base URLs and credentials in reusable objects to streamline multiple requests to the same service.
  • Proxy Server Routing - Routes network traffic through global or per-request proxy servers to control request flow.
  • Nested Resource Chaining - Supports hierarchical API paths by chaining resource requests to build complex URLs without manual construction.
  • Network Request Logging - Logs HTTP request and response details at configurable verbosity levels to debug API interactions.
  • API Explorers - Offers a CLI-based tool for developers to interact with and test API endpoints for debugging.
  • Multipart Uploads - Handles client-side encoding of multipart/form-data bodies for file uploads and complex form submissions.
  • API Client Development Tools - Simple HTTP and REST client for Ruby.
  • API Development - Simple HTTP and REST client.
  • Client Libraries - Simple Ruby HTTP client inspired by microframework syntax.
  • HTTP Clients - Simple REST client with a microframework-inspired syntax.

Star history

Star history chart for rest-client/rest-clientStar history chart for rest-client/rest-client

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

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

Open-source alternatives to Rest Client

Similar open-source projects, ranked by how many features they share with Rest Client.
  • jnunemaker/httpartyjnunemaker avatar

    jnunemaker/httparty

    5,894View on GitHub↗

    HTTParty is a Ruby HTTP client library designed for building standardized API clients. It abstracts low-level network primitives into a high-level interface, allowing developers to encapsulate base URIs and request configurations within classes to maintain consistent interactions with remote web services. The library automates the transformation of raw network response data into native Ruby structures by using a registry-based system that parses content based on response headers. It also provides specialized mechanisms for sending multipart form data and streaming large payloads to maintain m

    Ruby
    View on GitHub↗5,894
  • rs/curliers avatar

    rs/curlie

    3,670View on GitHub↗

    Curlie is a terminal-based HTTP client and debugging tool used for executing network requests and interacting with REST APIs. It provides a command line interface for sending requests using simplified syntax, with a specific focus on interacting with JSON services. The tool distinguishes itself by converting simplified interactive requests into standard curl commands for external reproduction and sharing. It also features unbuffered data streaming to monitor server responses in real time as they arrive. The project covers a broad range of API testing capabilities, including request prototypi

    Go
    View on GitHub↗3,670
  • encode/httpxencode avatar

    encode/httpx

    15,090View on GitHub↗

    This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP communication. It provides a high-performance client capable of executing non-blocking requests within event-driven applications, while also supporting standard blocking calls for simpler scripts. The library is built to operate natively across diverse asynchronous runtimes, automatically detecting and utilizing the underlying event loop for concurrency. What distinguishes this library is its modular architecture, which decouples request construction from network execution thro

    Pythonasynciohttppython
    View on GitHub↗15,090
  • asynchttpclient/async-http-clientAsyncHttpClient avatar

    AsyncHttpClient/async-http-client

    6,392View on GitHub↗

    This is a non-blocking network client for Java applications that provides asynchronous HTTP request capabilities and bidirectional WebSocket connectivity. It leverages a Netty-based architecture to handle high volumes of network input and output. The library utilizes native transport abstractions such as Epoll, KQueue, and io_uring to reduce system latency. It supports HTTP/2 multiplexing to run multiple concurrent request-response streams over a single connection and provides automatic response body decompression for various formats. Core capabilities cover the management of complex network

    Javaahcasyncasynchttpclient
    View on GitHub↗6,392
See all 30 alternatives to Rest Client→

Frequently asked questions

What does rest-client/rest-client do?

This is a Ruby HTTP client designed for REST API integration, resource modeling, and automated network communication. It provides a set of tools for managing headers, cookies, and SSL configurations, along with a dedicated command-line interface for executing one-off HTTP commands and managing interactive API testing sessions.

What are the main features of rest-client/rest-client?

The main features of rest-client/rest-client are: REST API Integrations, HTTP Client Libraries, REST API Clients, Cookie Management, HTTP Cookie Management, HTTP Request Customization, HTTP Request Execution, Secure Network Communication.

What are some open-source alternatives to rest-client/rest-client?

Open-source alternatives to rest-client/rest-client include: jnunemaker/httparty — HTTParty is a Ruby HTTP client library designed for building standardized API clients. It abstracts low-level network… rs/curlie — Curlie is a terminal-based HTTP client and debugging tool used for executing network requests and interacting with… encode/httpx — This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP… asynchttpclient/async-http-client — This is a non-blocking network client for Java applications that provides asynchronous HTTP request capabilities and… urllib3/urllib3 — urllib3 is a Python HTTP client library used for sending network requests and receiving responses. It functions as an… kittinunf/fuel — Fuel is a Kotlin HTTP client library for Android and Kotlin applications that handles both synchronous and…