feat(users/Profpatsch): add read-http

reads a http request or response from stdin, and parses its headers
into a netencoded record.

Darn rust code took way too long to write.

Change-Id: Ie99faa6d4bbd4996fa4e43fb119a11d85b611c99
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2447
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
This commit is contained in:
Profpatsch 2021-01-27 12:52:38 +01:00
parent f68781da1b
commit 1fb5a17f14
3 changed files with 217 additions and 0 deletions

View file

@ -0,0 +1,19 @@
{ depot, pkgs, ... }:
let
# reads a http request (stdin), and writes all headers to stdout, as netencoded dict
read-http = depot.users.Profpatsch.writers.rustSimple {
name = "read-http";
dependencies = [
depot.users.Profpatsch.rust-crates.httparse
depot.users.Profpatsch.netencode.netencode-rs
depot.users.Profpatsch.arglib.netencode.rust
];
} (builtins.readFile ./read-http.rs);
in {
inherit
read-http
;
}