From 65bfd803eb943078cf3608003039708c06f58454 Mon Sep 17 00:00:00 2001
From: pennae <github@quasiparticle.net>
Date: Sat, 4 Feb 2023 02:16:02 +0100
Subject: switch to hyper backend for web-push

upgrading dependencies will mean we have to use hyper for web-push
instead of isahc. sadly hyper doesn't send content-length headers for
empty bodies, but we can fudge that for the tests.
---
 Cargo.toml   | 7 ++++++-
 tests/api.py | 4 +++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml
index 3355184..246e51c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -28,13 +28,18 @@ subtle = "2.4.1"
 time = { version = "0.3.11", features = [ "serde" ] }
 url = "2.2.2"
 validator = { version = "0.15", features = [ "derive" ] }
-web-push = "0.9.2"
 
 [dependencies.lettre]
 version = "0.10"
 default-features = false
 features = [ "smtp-transport", "hostname", "builder", "tokio1-native-tls", "serde" ]
 
+# default client (isahc) uses libnghttp2-sys which stopped building in nix
+[dependencies.web-push]
+version = "0.9.2"
+default-features = false
+features = ["hyper-client"]
+
 [dev-dependencies]
 hex-literal = "0.3.4"
 
diff --git a/tests/api.py b/tests/api.py
index da82d37..f76abc7 100644
--- a/tests/api.py
+++ b/tests/api.py
@@ -208,7 +208,9 @@ class PushServer:
                     self.send_response(200)
                     self.end_headers()
 
-                q.put((self.path, self.headers, self.rfile.read(int(self.headers['content-length']))))
+                q.put((self.path,
+                       self.headers,
+                       self.rfile.read(int(self.headers.get('content-length', 0)))))
 
         server = self.server = http.server.ThreadingHTTPServer(("localhost", PUSH_PORT), Handler)
         threading.Thread(target=server.serve_forever).start()
-- 
cgit v1.2.3