fibered-http ============
minimal implementation of a PassThrough stream
An HTTP(s) proxy `http.Agent` implementation for HTTP
Provides a way to make requests
Create HTTP error objects
A query library for ECMAScript AST using a CSS selector like query language.
An RFC 3986/3987 compliant, scheme extendable URI/IRI parsing/validating/resolving library for JavaScript.
Turn a function into an `http.Agent` instance
Provides a way to make requests
AWS credential provider for containers and HTTP sources
The one-liner node.js proxy middleware for connect, express, next.js and more
A pure JS HTTP parser for node.
A PAC file proxy `http.Agent` implementation for HTTP
TypeScript definitions for http-errors
A simple zero-configuration command-line http server
An HTTP(s) proxy `http.Agent` implementation for HTTPS
Timings for HTTP requests
A list of color names and its values
JavaScript build tool, similar to Make or Rake
HTTP proxying for the masses
Actions Http Client
OpenTelemetry instrumentation for `node:http` and `node:https` http client and server modules
Deceive HTTP parser
Check if a protocol requires a certain port number to be added to an URL.
An em-http-request handler for the aws-sdk for Fiber based asynchronous ruby application using EM-Synchrony
A Ruby HTTP server combining Falcon-class fiber concurrency with Puma-class compatibility.
This gem provides a dedicated async HTTP processor that uses Ruby's Fiber scheduler for non-blocking I/O. Application threads hand off HTTP requests to the processor and return immediately. The processor handles hundreds of concurrent HTTP connections using fibers, then notifies the application when responses arrive via a pluggable callback mechanism. This design keeps application threads free to do other work while HTTP requests are in flight.
Companion gem for the Hyperion HTTP server. Patches PG::Connection so exec_params and friends cooperate with Async::Scheduler. Fibers serve other requests while one fiber waits on Postgres. Pure Ruby, drop-in.
Zbatery is an HTTP server for Rack applications on systems that either do not support fork(), or have no memory (nor need) to run the master/worker model. It is based on Rainbows! (which is based on Unicorn (which is based on Mongrel)) and inherits parts of each. Zbatery supports your choice of all the thread/fiber/event/actor-based concurrency models and Rack middleware that Rainbows! supports (or will ever support) in a single process.
sidekiq-fiber lets you run IO-bound Sidekiq jobs as fibers instead of threads. A single thread can process thousands of concurrent jobs that spend most of their time waiting on external IO (HTTP, LLM APIs, S3) — without the memory and OS overhead of one thread per job.
Em-resque is a version of Resque, which offers non-blocking and non-forking workers. The idea is to have fast as possible workers for tasks with lots of IO like pinging third party servers or hitting the database. The async worker is using fibers through Synchrony library to reduce the amount of callback functions. There's one fiber for worker and if one of the workers is blocking, it will block all the workers at the same time. The idea to use this version and not the regular Resque is to reduce the amount of SQL connections for high-load services. Using one process for many workers gives a better control to the amount of SQL connections. For using Resque please refer the original project. https://github.com/defunkt/resque/ The library adds two rake tasks over Resque: * resque:work_async for working inside the EventMachine
Parallel HTTP requests via libcurl curl_multi API. Releases GVL during I/O, compatible with Async gem and Fiber scheduler. Supports execute (all), first_execute (first N), stream_execute (yield as ready). Built-in retry functionality for network errors and custom HTTP status codes.
This is the official Ruby client for the Zizq job queue server. Zizq is a simple, single binary, zero dependency, language agnostic job queue. Features: - Enqueue and process jobs across programming languages - Persistent/journalled - Multi-thread and/or multi-fiber - Scheduled jobs - Prioritized queues - Optional ActiveJob integration - Unique jobs - Cron scheduling (recurring jobs) - Job introspection and management, including `jq` filters This client supports multi-threaded and/or multi-fiber concurrency and is very fast. The Zizq server provides everything needed. There are no separate external storage dependencies to configure such as Redis or a RDBMS. See https://zizq.io for full details and documentation.
Sashiko is a small Ruby gem that adds a declarative span DSL on top of OpenTelemetry, plus helpers for keeping trace context attached as work crosses Thread, Fiber, queue, HTTP, and Ractor boundaries. Includes a span-replay mechanism for emitting spans from Ractor workers, optional Faraday and Anthropic adapters, RBS signatures, and a Ruby::Box-aware `tracer:` injection path for multi-tenant observability.
The Cont module provides methods for working with continuations. Continuations are a way to save the execution state of a program so that it can be resumed later. They are used for advanced control flow structures such as coroutines, generators, and so on. Ruby have a built-in support for continuations, but it is deprecated and should not be used. This implementation uses the 'fiber' library based on https://github.com/minoki/delimited-continuations-in-lua . That library is released under the MIT license. Caution: The continuations of this implementation are 'one-shot', So they can only be resumed once. If you try to resume a dead continuation, an exception will be raised.