quiclog / qvis

QUIC and HTTP/3 visualization tools
https://qvis.edm.uhasselt.be
MIT License
176 stars 23 forks source link

Robust JSON handling in the backend #31

Open rmarx opened 4 years ago

rmarx commented 4 years ago

At this time, the backend does not use the Oboe JSON parser as a backup when parsing fails (e.g., a malformed qlog), while the frontend does.

This isn't typically a problem atm, as most qlog files are loaded individually, and the server simply sends them back as text for the browser to interpret. However, when loading multiple files at the same time, the JSON is parsed at the server to be combined into a single, aggregated qlog, which is where things fail.

Another question to ask though is whether we should aggregate qlogs on the server instead of just in the browser. Why not just fetch the files individually and then combine them on the browser end when they're all done? This makes the pipeline a bit less consistent, but at least keeps the somewhat complex fallback logic in one place...