Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.
Amazon Web Services Signature Version 4 signing library. Generates sigv4 signature for HTTP requests.
unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-latency, high-bandwidth connections and take advantage of features in Unix/Unix-like kernels. Slow clients should only be served by placing a reverse proxy capable of fully buffering both the the request and response in between unicorn and slow clients.
WebMock allows stubbing HTTP requests and setting expectations on HTTP requests.
Like a modern code version of the mythical beast with 100 serpent heads, Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling logic.
An easy-to-use client library for making requests from Ruby. It uses a simple method chaining system for building requests, similar to Python's Requests.
EventMachine based, async HTTP Request client
Manages persistent connections using Net::HTTP including a thread pool for connecting to multiple hosts. Using persistent HTTP connections can dramatically increase the speed of HTTP. Creating a new HTTP connection for every request involves an extra TCP round-trip and causes TCP congestion avoidance negotiation to start over. Net::HTTP supports persistent connections with some API methods but does not make setting up a single persistent connection or managing multiple connections easy. Net::HTTP::Persistent wraps Net::HTTP and allows you to focus on how to make HTTP requests.
Amazon Web Services Signature Version 2 signing library. Generates sigv2 signature for HTTP requests.
Log outgoing HTTP requests made from your application. Helpful for tracking API calls of third party gems that don't provide their own log output.
Rack middleware for rate-limiting incoming HTTP requests.
Cloud Tasks is a fully managed service that allows you to manage the execution, dispatch and delivery of a large number of distributed tasks. You can asynchronously perform work outside of a user request. Your tasks can be executed on App Engine or any arbitrary HTTP endpoint.
Replaces Net::HTTP with a subclass that routes all requests to a Rack application
Utility-belt to build form data request bodies. Provides support for `application/x-www-form-urlencoded` and `multipart/form-data` types.
A client library for making HTTP requests from Ruby.
An implementation of RFC 2617 - Digest Access Authentication. At this time the gem does not drop in to Net::HTTP and can be used for with other HTTP clients. In order to use net-http-digest_auth you'll need to perform some request wrangling on your own. See the class documentation at Net::HTTP::DigestAuth for an example.
This gem keep an eye on every Net::HTTP library usage and dump all request and response data to the log file
Analyze HTTP Requests
Nap is a really simple REST library. It allows you to perform HTTP requests with minimal amounts of code.
Ever wondered what HTTP requests the Ruby gem you are using to connect to a third party API is making? Use HTTP Spy to see what is going on behind the scenes.
unobtrusive_flash takes your flash messages for the backend and automagically passes them to the frontend via HTTP cookies. This works with both regular page loads and AJAX requests, does not tamper with the page body and requires about 3 extra lines of code in your app - how's that for unobtrusive?
Cloud Tasks is a fully managed service that allows you to manage the execution, dispatch and delivery of a large number of distributed tasks. You can asynchronously perform work outside of a user request. Your tasks can be executed on App Engine or any arbitrary HTTP endpoint. Note that google-cloud-tasks-v2 is a version-specific client library. For most uses, we recommend installing the main client library google-cloud-tasks instead. See the readme for more details.
Cloud Tasks is a fully managed service that allows you to manage the execution, dispatch and delivery of a large number of distributed tasks. You can asynchronously perform work outside of a user request. Your tasks can be executed on App Engine or any arbitrary HTTP endpoint. Note that google-cloud-tasks-v2beta3 is a version-specific client library. For most uses, we recommend installing the main client library google-cloud-tasks instead. See the readme for more details.
Cloud Tasks is a fully managed service that allows you to manage the execution, dispatch and delivery of a large number of distributed tasks. You can asynchronously perform work outside of a user request. Your tasks can be executed on App Engine or any arbitrary HTTP endpoint. Note that google-cloud-tasks-v2beta2 is a version-specific client library. For most uses, we recommend installing the main client library google-cloud-tasks instead. See the readme for more details.
UltraHook lets you receive webhooks on localhost. It relays HTTP POST requests sent from a public endpoints (provided by the ultrahook.com service) to private endpoints accessible from your computer.
AngularJS for using CSRF token with http requests
An HTTP/1.1 pipelining implementation atop Net::HTTP. A pipelined connection sends multiple requests to the HTTP server without waiting for the responses. The server will respond in-order.
SidekiqAlive offers a solution to add liveness probe of a Sidekiq instance. How? A http server is started and on each requests validates that a liveness key is stored in Redis. If it is there means is working. A Sidekiq job is the responsable to storing this key. If Sidekiq stops processing jobs this key gets expired by Redis an consequently the http server will return a 500 error. This Job is responsible to requeue itself for the next liveness probe.
This gem popups Rails' ActionDispatch::Flash within Bootstrap alert like a growl notification. It serves messages with both of AJAX (XHR) and regular requests inside HTTP headers.
clogger is Rack middleware for logging HTTP requests. The log format is customizable so you can specify exactly which fields to log.
A Batch API plugin that provides a RESTful syntax, allowing clients to make any number of REST calls with a single HTTP request.
Prints CURL compatible commands for the HTTP requests you're making
EventMachine-LE (Live Edition) is a branch of EventMachine (https://github.com/eventmachine/eventmachine). This branch incorporates interesting pull requests that are not yet included in the mainline EventMachine repository. The maintainers of that version prefer to minimize change in order to keep the stability with already existing EventMachine deployments, which provides an impressive multi-platform base for IPv4 TCP servers (e.g., Web servers) that don't need good UDP or IPv6 support. This dedication to stability is helpful for production use, but can also lead to ossification. The present "Live Edition" or "Leading Edge" branch has its focus on supporting a somewhat wider use, including new Web servers or protocols beyond the HTTP Web. To provide even more focus, this branch is currently applying its energy towards Linux and Unix/BSD/OSX environments. Java reactor and pure Ruby reactor are for now removed in this branch, and Windows/Cygwin support is untested. This may very well change later, once interesting pull requests come in. EventMachine-LE draws from a number of dormant pull requests on the mainline version of EventMachine. New proposals will also directly come to EventMachine-LE and will be included once they are tested. This is not a "development branch", EventMachine-LE is ready for production, just beyond the focus of mainline EventMachine.
A library for translating HTTP request and response objects for various clients into a common representation.
This gem can help your Ruby application to make HTTP(S) requests using proxies by fetching and validating proxy lists from the different providers.
A tiny Fetch API wrapper that allows you to make http requests without need to handle to send the CSRF Token on every request
Save HTTP responses to give your tests a hint of reality. Responses are saved into your fixtures directory and are used for subsequent web requests until they expire.
Monkeypatching Net::HTTP to use em-http-request under the hood.
Escher helps you creating secure HTTP requests (for APIs) by signing HTTP(s) requests.
Campfire API interface powered by eventmachine em-http-request and yajl-ruby.
Dump http request use WebMock.
An HTTP Request Governor
Extends Yabeda metrics to collect external calls
http_request.rb is a small, lightweight, powerful HttpRequest class based on the 'net/http' and 'net/ftp' libraries
Rack::MethodOverride only checks the X-Http-Method-Override header and the form encoded post body for _method. Rack::MethodOverrideWithParams checks both of those _and_ the query params. So, if you POST xml with a url like http://example.com/?_method=delete the application will see it as a delete request.
An em-http-request handler for the aws-sdk for Fiber based asynchronous ruby application using EM-Synchrony
EventMachine based HTTP Request interface
LogMe is a simple way to configure log in your spec. It is especially useful when you need to log Web Service calls or HTTP requests and responses.
rack-facebook is a Rack middleware that checks the signature of Facebook params, and converts them to Ruby objects when appropiate. Also, it converts the request method from the Facebook POST to the original HTTP method used by the client.
NiceHttp -- simplest library for accessing and testing HTTP and REST resources. Get http logs and statistics automatically. Use hashes on your requests. Access JSON even easier.