opendrop
opendrop copied to clipboard
NoneType error macOS 14.4
Error on Raspberry PI testing with macOS 14.4 (previously working on macOS 14.3.1):
Exception occurred during processing of request from ('fe80::3c29:5bff:feec:becb', 49472, 0, 5) Traceback (most recent call last): File "/usr/lib/python3.9/socketserver.py", line 316, in handle request noblock self.process_request(request, client_address) File "/usr/lib/python3.9/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.9/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client address, self) File "/usr/lib/python3.9/socketserver.py", line 720, in init self.handle() File "/usr/lib/python3.9/http/server.py", line 427, in handle self.handle _one_request() File "/usr/lib/python3.9/http/server.py", line 415, in handle_one_request method() File "/usr/local/lib/python3.9/dist-packages/opendrop/server.py", line 326, in do_POST self.handle_discover() File "/usr/local/lib/python3.9/dist-packages/opendrop/server.py", line 166, in handle_discover content_length = int(self.headers["Content-Length"]) TypeError: int() argument must be a string, a bytes-like object or a number, not 'None Type'
Hey @pjs7! I encountered this same issue, and discovered that this happens because iOS seems to be sending its /Discover post bodies via Transfer-Encoding: chunked, which doesn't include a Content-Length header. Some WIP code to handle it is in a draft PR at #116