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
·
request avatar

request/request-promise

0
View on GitHub↗
4,722 stars·286 forks·JavaScript·ISC·17 views

Request Promise

This project is a promise-based HTTP client for Node.js that wraps callback-style network requests into promise objects. It serves as a library for sending JSON, form data, and multipart requests to web servers while managing asynchronous flow control.

The library utilizes a specialized Bluebird promise implementation to handle request and response lifecycles. It includes a session manager that uses a cookie jar to maintain and transmit state across multiple network calls.

The tool covers a broad range of network capabilities, including REST API integration, response data transformation, and full HTTP response capture. It provides mechanisms for request cancellation, configurable error handling for non-success status codes, and network traffic debugging.

Features

  • Promise-Based HTTP Clients - Wraps callback-style HTTP requests into promise objects to manage asynchronous network flow without nesting.
  • Asynchronous HTTP Calls - Enables making asynchronous HTTP requests using promises instead of traditional callbacks for simplified error and response handling.
  • REST API Integrations - Sending and receiving JSON data through HTTP requests to communicate with web services and external application interfaces.
  • HTTP Cookie Management - Manages session state across multiple network calls using a cookie jar to handle session cookies.
  • Request Body Encoders - Provides mechanisms to encode request bodies as JSON, URL-encoded forms, or multipart data for standard web transfers.
  • Node.js HTTP Clients - Serves as a comprehensive Node.js library for sending JSON, form data, and multipart requests to web servers.
  • Session & Cookie Handlers - Uses a cookie jar to store and send cookies across multiple requests to maintain session state.
  • Web Session Management - Maintains state across multiple network calls by storing and sending cookies using a cookie jar.
  • Callback-to-Promise Converters - Transforms standard Node.js error-first callbacks into promise resolve and reject states for consistent async handling.
  • Request Body Attachers - Transforms JavaScript objects into JSON or multipart form data strings before transmission over the network.
  • API Error Handling - Allows configuration to determine if the promise should reject based on HTTP status codes or only on network failures.
  • HTTP Response Processors - Captures full response objects and transforms raw body data into specific formats for application use.
  • Request Cancellations - Provides the ability to abort active network requests to stop associated processes from resolving or rejecting.
  • Configurable Promise Resolutions - Allows callers to decide whether non-success HTTP status codes trigger a promise rejection or a resolution.
  • Full Response Captures - Enables returning the complete HTTP response object, including status codes and headers, instead of only the response body.
  • API Response Transformations - Implements custom functions to transform raw response bodies into different formats before they are used by the application.

Star history

Star history chart for request/request-promiseStar history chart for request/request-promise

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 request/request-promise do?

This project is a promise-based HTTP client for Node.js that wraps callback-style network requests into promise objects. It serves as a library for sending JSON, form data, and multipart requests to web servers while managing asynchronous flow control.

What are the main features of request/request-promise?

The main features of request/request-promise are: Promise-Based HTTP Clients, Asynchronous HTTP Calls, REST API Integrations, HTTP Cookie Management, Request Body Encoders, Node.js HTTP Clients, Session & Cookie Handlers, Web Session Management.

What are some open-source alternatives to request/request-promise?

Open-source alternatives to request/request-promise include: amitshekhariitbhu/fast-android-networking — 🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀. bitinn/node-fetch — node-fetch is a lightweight HTTP client library that implements the browser-standard Fetch API for Node.js. It… mzabriskie/axios — Axios is a promise-based HTTP client used to make asynchronous network requests in both browser and Node.js… elbywan/wretch — Wretch is a chainable HTTP client library and Fetch API wrapper designed to simplify network request configuration,… kittinunf/fuel — Fuel is a Kotlin HTTP client library for Android and Kotlin applications that handles both synchronous and… rest-client/rest-client — This is a Ruby HTTP client designed for REST API integration, resource modeling, and automated network communication.…

Open-source alternatives to Request Promise

Similar open-source projects, ranked by how many features they share with Request Promise.
  • amitshekhariitbhu/fast-android-networkingamitshekhariitbhu avatar

    amitshekhariitbhu/Fast-Android-Networking

    5,906View on GitHub↗

    🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀

    Java
    View on GitHub↗5,906
  • bitinn/node-fetchbitinn avatar

    bitinn/node-fetch

    8,861View on GitHub↗

    node-fetch is a lightweight HTTP client library that implements the browser-standard Fetch API for Node.js. It provides a promise-based interface for making asynchronous network requests to retrieve or send data from server-side environments. The project specializes in memory-efficient data handling by utilizing request and response streaming. This allows for the incremental processing of large network payloads through native system streams to prevent memory exhaustion. The library covers a broad range of networking capabilities, including the use of custom HTTP agents for DNS and SSL config

    JavaScript
    View on GitHub↗8,861
  • mzabriskie/axiosmzabriskie avatar

    mzabriskie/axios

    109,096View on GitHub↗

    Axios is a promise-based HTTP client used to make asynchronous network requests in both browser and Node.js environments. It functions as a multi-environment network adapter that abstracts the transport layer to ensure consistent behavior across different runtimes. The project distinguishes itself through a request lifecycle management system that allows for the cancellation of active requests, the setting of timeouts, and the monitoring of upload and download transfer progress. It includes a mechanism for intercepting network traffic, enabling the transformation of outgoing requests and inco

    JavaScript
    View on GitHub↗109,096
  • elbywan/wretchelbywan avatar

    elbywan/wretch

    5,174View on GitHub↗

    Wretch is a chainable HTTP client library and Fetch API wrapper designed to simplify network request configuration, response parsing, and error handling. It functions as a network request manager and middleware framework for managing the end-to-end lifecycle of HTTP calls. The project is distinguished by a fluent interface for request configuration and a modular extension system. It utilizes a programmable response resolver to automate parsing and a plugin-based architecture to add new capabilities to request and response objects. The library covers a broad range of operational capabilities,

    TypeScript
    View on GitHub↗5,174
See all 30 alternatives to Request Promise→