Lukasa/hyper — pull request #73 by Lukasa (2014-08-20 18:18:23+00:00)
Title: HTTP/2 dumping tool

Here's an idea out of left field:

Let's ship a command-line tool that can dump a HTTP/2 connection into decoded frames. This would be a useful tool for diagnostic purposes and debugging. In its simplest form it should be able to take a binary file representing the streamed TCP data for a single connection and dump it into the format used by the HTTP/2 specification.

This could, when combined with the SSLSplit tool, make a powerful HTTP/2 diagnostic framework. It'd also show the power of `hyper`'s framing layer.

Other useful features:

- decode HPACK headers on the fly.
- simulate connection state (e.g. flow control windows, stream counts etc.)
- flag protocol violations that don't affect framing
- decode HTTP/2 streams into requests and responses

Getting started on this should be _really_ easy!

##### Proposed output format

```
HEADERS
{partial header block}

CONTINUATION
+ END_HEADERS
{partial header block}

{maybe decoded header block here?}

DATA
+ END_STREAM
{binary data}
```