Skip to content

http-2vsexcon

MIT 2 6 908
183.8 thousand (month) Sep 25 2013 1.1.3(2026-03-05 00:04:35 ago)
1,172 19 20 MIT
Oct 31 2009 3.3 million (month) 1.4.2(2026-03-20 19:18:25 ago)

Pure Ruby, framework and transport agnostic, implementation of HTTP/2 protocol and HPACK header compression with support for:

  • Binary framing parsing and encoding
  • Stream multiplexing and prioritization
  • Connection and stream flow control
  • Header compression and server push
  • Connection and stream management
  • And more... see API docs

Protocol specifications:

  • Hypertext Transfer Protocol Version 2 (RFC 7540)
  • HPACK: Header Compression for HTTP/2 (RFC 7541)

Excon is a Ruby library for making HTTP requests. It is designed to be fast and efficient, and is often used as a building block for other Ruby libraries and frameworks.

One of the main features of Excon is its support for persistent connections, which allows it to reuse the same connection for multiple requests, reducing the overhead of establishing a new connection for each request.

Excon also supports streaming requests and responses, which allows you to read or write data to the server incrementally, without having to load the entire response into memory at once.

Highlights


http2

Example Use


```ruby require 'http/2' # GET request client = HTTP2::Client.new response = client.get("https://httpbin.org/get") puts response.body # POST reuqest data = { name: "value" } response = client.post("https://www.example.com", data) ```
```ruby require 'excon' # GET requests response = Excon.get('https://jsonplaceholder.typicode.com/posts/1') puts response.body puts response.status puts response.headers # POST requests response = Excon.post('https://jsonplaceholder.typicode.com/posts', :body => { :title => 'foo', :body => 'bar', :userId => 1 }.to_json, :headers => { 'Content-Type' => 'application/json' } ) puts response.body ```

Alternatives / Similar


Was this page helpful?