This repository is for storing QIFs used in QPACK development and interop experiments.
A QPACK encoder uses a QIF file as input. QIF files are stored
in qifs/ directory.
A QPACK encoder produces a file whose format is described in
QPACK Offline Interop.
Outputs produced by various encoders are stored in encoded/
directory.
The encoder output server as the decoder input. The idea of the interop is to take a QIF file, encode it using an encoder from one distribution and decode it using a decoder from another distribution.
A HAR is easy to manufacture using any of the major browsers.
On the other hand, a HAR is inconvenient for the kind of end-to-end
testing that the interop suggests: they are difficult to generate
and compare. A HAR can be converted to a QIF format using
bin/har2qif.pl program.
QIFs are text files and can be compared using standard UNIX tools
such as diff(1).
Because both input and output QIF files can contain comments and, more
importantly, because the decoding process may output header lists in a
different order, bin/sort-qif.pl is provided. Sample use:
sh$ encode source.qif > encoded.bin
sh$ decode encoded.bin > result.qif
sh$ grep -v ^# source.qif > canonical-input.qif
sh$ sort-qif.pl --strip-comments result.qif > canonical-output.qif
sh$ diff canonical-input.qif canonical-output.qif