If we haven't connected to the upstream host in transparent mode, then the call to `write` on line 74 will raise an `AttributeError` as we haven't initialised `self.wfile`.
If we add `AttributeError` to the `except` line, then we'll catch the exception and call `_connect`, which will in turn initialise `wfile`.
* Add font types to asset filter (~a)
* Add PR number to changelog
* remove flash mention
* restore asset test
Co-authored-by: Maximilian Hils <github@maximilianhils.com>
* remove old pyopenssl cruft
* bump minimum version of pyopenssl
* add extra spaces to conform to style guide
* update changelog
* replace getattr with direct SSL method calls
* put version check back in but remove setdefault method calls
* tweak changelog wording
* bumb tox.ini pyOpenSSL dependency version
Co-authored-by: Karl Parkinson <karlparkinson@Karls-MBP.hitronhub.home>
* Replays via upstream also need to comply with upstream handling
* Adjusted test for HTTP upstream replay which should NOT do a CONNECT
* Added Changelog
* Test for replay https pver upstream with CONNECT
* Proxy requests use full URL with host & port
* Finally remove some prints
* lint!
Co-authored-by: Maximilian Hils <github@maximilianhils.com>
* Replaced Kaitai protobuf parser with custom implementation, to prepare packed data handling
* Clamp varint size for bool conversion to 64bit, to satify tests
* moved WireParser into ProtoParser
* preserve work state
* Full packed support
* noc changes to example addon
* Adjusted test regex for ValueError
* Do not try to unpack fields twice
* Partial gRPC contentview prototype, not linted, no tests, not as add-on
* Linted (flake8)
* Save dev state
* Rewrote of protobuf parser, use decoding strategy, reduced rendered data. Parser uses generators
* minor cleanup
* fix: preferred encoding was provided as function instead of value
* flake8: line length
* Backlinked message tree objects, temporary debug out
* Partial implementation of gRPC definitions. Save state to fix a cras (data invalidate in edit mode)
* hack: deal with missing exception handling for generator based content views
* gRPC/Protoparser descriptions (with test code)
* replaced manual gzip decoding with mitmproxy.net.encoding.decode
* Refactored typing imports
* Reafctoring
* distinguish request vs response definitions, separate view config from parser config
* Code cleaning, moved customized protobuf definitions to example addon
* final cleanup
* changelog
* Stubs for tests
* Fixed render_riority of addon example
* Started adding tests
* Work on tests
* mypy
* Added pseudo encoder to tests, to cover special decodings
* Example addon test added
* finalized tests, no 100 percent coverage possible, see comments un uncovered code
* minor adjustments
* fixup tests
* Typos
Co-authored-by: Maximilian Hils <git@maximilianhils.com>