Coverage report: 90%

Files Functions Classes

coverage.py v7.6.12, created at 2025-06-16 18:32 +0100

File function statements missing excluded coverage
src/httpx/__init__.py (no function) 15 0 0 100%
src/httpx/_client.py Client.__init__ 8 0 0 100%
src/httpx/_client.py Client.build_request 1 0 0 100%
src/httpx/_client.py Client.request 4 0 0 100%
src/httpx/_client.py Client.stream 3 0 0 100%
src/httpx/_client.py Client.get 1 0 0 100%
src/httpx/_client.py Client.post 1 0 0 100%
src/httpx/_client.py Client.put 1 0 0 100%
src/httpx/_client.py Client.patch 1 0 0 100%
src/httpx/_client.py Client.delete 1 0 0 100%
src/httpx/_client.py Client.close 1 0 0 100%
src/httpx/_client.py Client.__enter__ 1 0 0 100%
src/httpx/_client.py Client.__exit__ 1 0 0 100%
src/httpx/_client.py Client.__repr__ 1 0 0 100%
src/httpx/_client.py RedirectMiddleware.__init__ 1 0 0 100%
src/httpx/_client.py RedirectMiddleware.is_redirect 1 0 0 100%
src/httpx/_client.py RedirectMiddleware.build_redirect_request 1 1 0 0%
src/httpx/_client.py RedirectMiddleware.send 7 2 0 71%
src/httpx/_client.py RedirectMiddleware.aclose 1 1 0 0%
src/httpx/_client.py open_client 3 0 0 100%
src/httpx/_client.py (no function) 34 0 0 100%
src/httpx/_content.py Content.encode 1 1 0 0%
src/httpx/_content.py Form.__init__ 10 0 0 100%
src/httpx/_content.py Form.encode 3 0 0 100%
src/httpx/_content.py Form.keys 1 0 0 100%
src/httpx/_content.py Form.values 1 0 0 100%
src/httpx/_content.py Form.items 1 0 0 100%
src/httpx/_content.py Form.get 3 0 0 100%
src/httpx/_content.py Form.multi_items 4 0 0 100%
src/httpx/_content.py Form.multi_dict 1 0 0 100%
src/httpx/_content.py Form.get_list 1 0 0 100%
src/httpx/_content.py Form.copy_set 3 0 0 100%
src/httpx/_content.py Form.copy_append 3 0 0 100%
src/httpx/_content.py Form.copy_remove 3 0 0 100%
src/httpx/_content.py Form.__getitem__ 1 0 0 100%
src/httpx/_content.py Form.__contains__ 1 0 0 100%
src/httpx/_content.py Form.__iter__ 1 0 0 100%
src/httpx/_content.py Form.__len__ 1 0 0 100%
src/httpx/_content.py Form.__bool__ 1 0 0 100%
src/httpx/_content.py Form.__hash__ 1 0 0 100%
src/httpx/_content.py Form.__eq__ 1 0 0 100%
src/httpx/_content.py Form.__str__ 1 0 0 100%
src/httpx/_content.py Form.__repr__ 1 0 0 100%
src/httpx/_content.py File.__init__ 1 0 0 100%
src/httpx/_content.py File.name 1 0 0 100%
src/httpx/_content.py File.size 1 1 0 0%
src/httpx/_content.py File.content_type 5 1 0 80%
src/httpx/_content.py File.encode 3 0 0 100%
src/httpx/_content.py File.__lt__ 1 0 0 100%
src/httpx/_content.py File.__eq__ 1 0 0 100%
src/httpx/_content.py File.__repr__ 1 0 0 100%
src/httpx/_content.py Files.__init__ 9 0 0 100%
src/httpx/_content.py Files.keys 1 0 0 100%
src/httpx/_content.py Files.values 1 0 0 100%
src/httpx/_content.py Files.items 1 0 0 100%
src/httpx/_content.py Files.get 3 0 0 100%
src/httpx/_content.py Files.multi_items 4 0 0 100%
src/httpx/_content.py Files.multi_dict 1 0 0 100%
src/httpx/_content.py Files.get_list 1 0 0 100%
src/httpx/_content.py Files.encode 1 1 0 0%
src/httpx/_content.py Files.__getitem__ 1 0 0 100%
src/httpx/_content.py Files.__contains__ 1 0 0 100%
src/httpx/_content.py Files.__iter__ 1 0 0 100%
src/httpx/_content.py Files.__len__ 1 0 0 100%
src/httpx/_content.py Files.__bool__ 1 0 0 100%
src/httpx/_content.py Files.__eq__ 1 0 0 100%
src/httpx/_content.py Files.__repr__ 1 0 0 100%
src/httpx/_content.py JSON.__init__ 1 0 0 100%
src/httpx/_content.py JSON.encode 4 0 0 100%
src/httpx/_content.py Text.__init__ 1 0 0 100%
src/httpx/_content.py Text.encode 3 0 0 100%
src/httpx/_content.py HTML.__init__ 1 0 0 100%
src/httpx/_content.py HTML.encode 3 0 0 100%
src/httpx/_content.py MultiPart.__init__ 3 0 0 100%
src/httpx/_content.py MultiPart.form 1 0 0 100%
src/httpx/_content.py MultiPart.files 1 0 0 100%
src/httpx/_content.py MultiPart.encode 3 0 0 100%
src/httpx/_content.py MultiPart.iter_bytes 12 0 0 100%
src/httpx/_content.py (no function) 74 0 0 100%
src/httpx/_headers.py headername 3 0 0 100%
src/httpx/_headers.py headervalue 4 0 0 100%
src/httpx/_headers.py Headers.__init__ 6 0 0 100%
src/httpx/_headers.py Headers.keys 1 0 0 100%
src/httpx/_headers.py Headers.values 1 0 0 100%
src/httpx/_headers.py Headers.items 1 0 0 100%
src/httpx/_headers.py Headers.get 4 0 0 100%
src/httpx/_headers.py Headers.copy_set 10 0 0 100%
src/httpx/_headers.py Headers.copy_remove 2 0 0 100%
src/httpx/_headers.py Headers.copy_update 7 5 0 29%
src/httpx/_headers.py Headers.__getitem__ 5 0 0 100%
src/httpx/_headers.py Headers.__contains__ 2 0 0 100%
src/httpx/_headers.py Headers.__iter__ 1 0 0 100%
src/httpx/_headers.py Headers.__len__ 1 0 0 100%
src/httpx/_headers.py Headers.__bool__ 1 0 0 100%
src/httpx/_headers.py Headers.__eq__ 3 0 0 100%
src/httpx/_headers.py Headers.__repr__ 1 0 0 100%
src/httpx/_headers.py (no function) 21 0 0 100%
src/httpx/_network.py timeout 8 0 0 100%
src/httpx/_network.py get_current_timeout 9 0 0 100%
src/httpx/_network.py NetworkStream.__init__ 5 0 0 100%
src/httpx/_network.py NetworkStream.read 4 0 0 100%
src/httpx/_network.py NetworkStream.write 5 0 0 100%
src/httpx/_network.py NetworkStream.start_tls 2 2 0 0%
src/httpx/_network.py NetworkStream.close 4 0 0 100%
src/httpx/_network.py NetworkStream.__repr__ 4 0 0 100%
src/httpx/_network.py NetworkStream.__del__ 3 2 0 33%
src/httpx/_network.py NetworkStream.__enter__ 1 0 0 100%
src/httpx/_network.py NetworkStream.__exit__ 1 0 0 100%
src/httpx/_network.py NetworkBackend.connect 4 0 0 100%
src/httpx/_network.py NetworkBackend.__repr__ 1 0 0 100%
src/httpx/_network.py (no function) 28 0 0 100%
src/httpx/_pool.py Transport.send 1 1 0 0%
src/httpx/_pool.py Transport.close 1 1 0 0%
src/httpx/_pool.py Transport.request 4 0 0 100%
src/httpx/_pool.py Transport.stream 3 0 0 100%
src/httpx/_pool.py ConnectionPool.__init__ 5 0 0 100%
src/httpx/_pool.py ConnectionPool.send 9 0 0 100%
src/httpx/_pool.py ConnectionPool.close 5 0 0 100%
src/httpx/_pool.py ConnectionPool._get_connection 9 2 0 78%
src/httpx/_pool.py ConnectionPool._close_expired_connections 4 1 0 75%
src/httpx/_pool.py ConnectionPool._remove_closed_connections 3 0 0 100%
src/httpx/_pool.py ConnectionPool.connections 1 0 0 100%
src/httpx/_pool.py ConnectionPool.description 4 0 0 100%
src/httpx/_pool.py ConnectionPool.__repr__ 1 0 0 100%
src/httpx/_pool.py ConnectionPool.__del__ 3 0 0 100%
src/httpx/_pool.py ConnectionPool.__enter__ 1 0 0 100%
src/httpx/_pool.py ConnectionPool.__exit__ 1 0 0 100%
src/httpx/_pool.py open_connection_pool 6 0 0 100%
src/httpx/_pool.py Connection.__init__ 6 0 0 100%
src/httpx/_pool.py Connection.origin 1 1 0 0%
src/httpx/_pool.py Connection.is_idle 1 1 0 0%
src/httpx/_pool.py Connection.is_expired 1 0 0 100%
src/httpx/_pool.py Connection.is_closed 1 0 0 100%
src/httpx/_pool.py Connection.description 1 0 0 100%
src/httpx/_pool.py Connection.send 8 0 0 100%
src/httpx/_pool.py Connection.close 2 0 0 100%
src/httpx/_pool.py Connection.request 5 0 0 100%
src/httpx/_pool.py Connection.stream 4 0 0 100%
src/httpx/_pool.py Connection._send_head 2 0 0 100%
src/httpx/_pool.py Connection._send_body 3 0 0 100%
src/httpx/_pool.py Connection._send_event 3 0 0 100%
src/httpx/_pool.py Connection._recv_head 6 0 0 100%
src/httpx/_pool.py Connection._recv_body 6 0 0 100%
src/httpx/_pool.py Connection._recv_event 6 0 0 100%
src/httpx/_pool.py Connection._cycle_complete 4 0 0 100%
src/httpx/_pool.py Connection._close 4 0 0 100%
src/httpx/_pool.py Connection.__repr__ 1 0 0 100%
src/httpx/_pool.py Connection.__enter__ 1 0 0 100%
src/httpx/_pool.py Connection.__exit__ 1 0 0 100%
src/httpx/_pool.py open_connection 16 4 0 75%
src/httpx/_pool.py (no function) 62 0 0 100%
src/httpx/_request.py Request.__init__ 22 1 0 95%
src/httpx/_request.py Request.read 2 0 0 100%
src/httpx/_request.py Request.__repr__ 1 0 0 100%
src/httpx/_request.py (no function) 10 0 0 100%
src/httpx/_response.py Response.__init__ 18 1 0 94%
src/httpx/_response.py Response.reason_phrase 1 0 0 100%
src/httpx/_response.py Response.read 2 0 0 100%
src/httpx/_response.py Response.__repr__ 1 0 0 100%
src/httpx/_response.py (no function) 12 0 0 100%
src/httpx/_server.py HTTPConnection.__init__ 5 0 0 100%
src/httpx/_server.py HTTPConnection.handle_requests 22 10 0 55%
src/httpx/_server.py HTTPConnection.close 4 0 0 100%
src/httpx/_server.py HTTPConnection._recv_head 9 2 0 78%
src/httpx/_server.py HTTPConnection._recv_body 6 0 0 100%
src/httpx/_server.py HTTPConnection._recv_event 6 0 0 100%
src/httpx/_server.py HTTPConnection._send_head 2 0 0 100%
src/httpx/_server.py HTTPConnection._send_body 3 0 0 100%
src/httpx/_server.py HTTPConnection._send_event 3 0 0 100%
src/httpx/_server.py HTTPConnection._cycle_complete 4 0 0 100%
src/httpx/_server.py HTTPServer.__init__ 1 0 0 100%
src/httpx/_server.py HTTPServer.wait 2 2 0 0%
src/httpx/_server.py TCPServer.__init__ 9 0 0 100%
src/httpx/_server.py TCPServer.__enter__ 9 0 0 100%
src/httpx/_server.py TCPServer.__exit__ 6 1 0 83%
src/httpx/_server.py TCPServer._serve_loop 8 2 0 75%
src/httpx/_server.py TCPServer._handler 6 0 0 100%
src/httpx/_server.py serve_http 6 0 0 100%
src/httpx/_server.py serve_http.handler 2 0 0 100%
src/httpx/_server.py serve_tcp 2 0 0 100%
src/httpx/_server.py (no function) 38 0 0 100%
src/httpx/_streams.py humanize_size 14 0 0 100%
src/httpx/_streams.py Stream.size 1 0 0 100%
src/httpx/_streams.py Stream.__iter__ 1 0 0 100%
src/httpx/_streams.py ByteStream.__init__ 1 0 0 100%
src/httpx/_streams.py ByteStream.__eq__ 1 0 0 100%
src/httpx/_streams.py ByteStream.size 1 0 0 100%
src/httpx/_streams.py ByteStream.__iter__ 1 0 0 100%
src/httpx/_streams.py ByteStream.__repr__ 2 0 0 100%
src/httpx/_streams.py IterByteStream.__init__ 3 0 0 100%
src/httpx/_streams.py IterByteStream.size 1 0 0 100%
src/httpx/_streams.py IterByteStream.__iter__ 9 0 0 100%
src/httpx/_streams.py IterByteStream.__repr__ 6 0 0 100%
src/httpx/_streams.py FileStream.__init__ 1 0 0 100%
src/httpx/_streams.py FileStream.size 1 1 0 0%
src/httpx/_streams.py FileStream.__iter__ 4 0 0 100%
src/httpx/_streams.py FileStream.__repr__ 2 2 0 0%
src/httpx/_streams.py (no function) 27 0 0 100%
src/httpx/_urlencode.py urlencode 6 0 0 100%
src/httpx/_urlencode.py urldecode 7 0 0 100%
src/httpx/_urlencode.py quote 3 0 0 100%
src/httpx/_urlencode.py unquote 18 0 0 100%
src/httpx/_urlencode.py percent 1 0 0 100%
src/httpx/_urlencode.py (no function) 9 0 0 100%
src/httpx/_urlparse.py ParseResult.authority 1 0 0 100%
src/httpx/_urlparse.py ParseResult.netloc 1 0 0 100%
src/httpx/_urlparse.py ParseResult.copy_with 5 3 0 40%
src/httpx/_urlparse.py ParseResult.__str__ 2 0 0 100%
src/httpx/_urlparse.py urlparse 64 21 0 67%
src/httpx/_urlparse.py encode_host 25 15 0 40%
src/httpx/_urlparse.py normalize_port 10 2 0 80%
src/httpx/_urlparse.py validate_path 8 3 0 62%
src/httpx/_urlparse.py normalize_path 14 2 0 86%
src/httpx/_urlparse.py PERCENT 1 0 0 100%
src/httpx/_urlparse.py percent_encoded 4 0 0 100%
src/httpx/_urlparse.py quote 14 7 0 50%
src/httpx/_urlparse.py (no function) 42 0 0 100%
src/httpx/_urls.py URL.__init__ 21 8 0 62%
src/httpx/_urls.py URL.scheme 1 0 0 100%
src/httpx/_urls.py URL.userinfo 1 1 0 0%
src/httpx/_urls.py URL.username 2 2 0 0%
src/httpx/_urls.py URL.password 2 2 0 0%
src/httpx/_urls.py URL.host 1 0 0 100%
src/httpx/_urls.py URL.port 1 0 0 100%
src/httpx/_urls.py URL.netloc 1 0 0 100%
src/httpx/_urls.py URL.path 2 2 0 0%
src/httpx/_urls.py URL.query 2 2 0 0%
src/httpx/_urls.py URL.params 1 0 0 100%
src/httpx/_urls.py URL.target 4 1 0 75%
src/httpx/_urls.py URL.fragment 1 1 0 0%
src/httpx/_urls.py URL.is_absolute_url 1 1 0 0%
src/httpx/_urls.py URL.is_relative_url 1 1 0 0%
src/httpx/_urls.py URL.copy_with 1 1 0 0%
src/httpx/_urls.py URL.copy_set_param 1 1 0 0%
src/httpx/_urls.py URL.copy_append_param 1 1 0 0%
src/httpx/_urls.py URL.copy_remove_param 1 1 0 0%
src/httpx/_urls.py URL.copy_merge_params 1 1 0 0%
src/httpx/_urls.py URL.join 2 0 0 100%
src/httpx/_urls.py URL.__hash__ 1 1 0 0%
src/httpx/_urls.py URL.__eq__ 1 0 0 100%
src/httpx/_urls.py URL.__str__ 1 0 0 100%
src/httpx/_urls.py URL.__repr__ 1 0 0 100%
src/httpx/_urls.py QueryParams.__init__ 12 0 0 100%
src/httpx/_urls.py QueryParams.keys 1 0 0 100%
src/httpx/_urls.py QueryParams.values 1 0 0 100%
src/httpx/_urls.py QueryParams.items 1 0 0 100%
src/httpx/_urls.py QueryParams.multi_items 4 0 0 100%
src/httpx/_urls.py QueryParams.multi_dict 1 0 0 100%
src/httpx/_urls.py QueryParams.get 3 0 0 100%
src/httpx/_urls.py QueryParams.get_list 1 0 0 100%
src/httpx/_urls.py QueryParams.copy_set 4 0 0 100%
src/httpx/_urls.py QueryParams.copy_append 4 0 0 100%
src/httpx/_urls.py QueryParams.copy_remove 4 0 0 100%
src/httpx/_urls.py QueryParams.copy_update 3 0 0 100%
src/httpx/_urls.py QueryParams.__getitem__ 1 0 0 100%
src/httpx/_urls.py QueryParams.__contains__ 1 0 0 100%
src/httpx/_urls.py QueryParams.__iter__ 1 0 0 100%
src/httpx/_urls.py QueryParams.__len__ 1 0 0 100%
src/httpx/_urls.py QueryParams.__bool__ 1 0 0 100%
src/httpx/_urls.py QueryParams.__hash__ 1 0 0 100%
src/httpx/_urls.py QueryParams.__eq__ 3 0 0 100%
src/httpx/_urls.py QueryParams.__str__ 1 0 0 100%
src/httpx/_urls.py QueryParams.__repr__ 1 0 0 100%
src/httpx/_urls.py (no function) 67 0 0 100%
Total   1344 130 0 90%

No items found using the specified filter.