Good day.
Recently I upgraded Sanic to last version (19.9.0).
And now middleware i used before won’t fire for Http requests if SSL is enabled.
I get two warnings in logs:
SSL handshake failed
protocol: <asyncio.sslproto.SSLProtocol object at 0x000001D383EC87B8>
transport: <_SelectorSocketTransport fd=1292 read=polling write=<idle, bufsize=0>>
Traceback (most recent call last):
File "C:\Users\enf64_000\AppData\Local\Programs\Python\Python37\lib\asyncio\sslproto.py", line 625, in _on_handshake_complete
raise handshake_exc
File "C:\Users\enf64_000\AppData\Local\Programs\Python\Python37\lib\asyncio\sslproto.py", line 189, in feed_ssldata
self._sslobj.do_handshake()
File "C:\Users\enf64_000\AppData\Local\Programs\Python\Python37\lib\ssl.py", line 763, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: HTTP_REQUEST] http request (_ssl.c:1056)
and second:
SSL error in data received
protocol: <asyncio.sslproto.SSLProtocol object at 0x000001D383EC87B8>
transport: <_SelectorSocketTransport closing fd=1292 read=idle write=<idle, bufsize=0>>
Traceback (most recent call last):
File "C:\Users\enf64_000\AppData\Local\Programs\Python\Python37\lib\asyncio\sslproto.py", line 526, in data_received
ssldata, appdata = self._sslpipe.feed_ssldata(data)
File "C:\Users\enf64_000\AppData\Local\Programs\Python\Python37\lib\asyncio\sslproto.py", line 189, in feed_ssldata
self._sslobj.do_handshake()
File "C:\Users\enf64_000\AppData\Local\Programs\Python\Python37\lib\ssl.py", line 763, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: HTTP_REQUEST] http request (_ssl.c:1056)
Could someone point me, how to redirect all Http requests to https, please?
Can I somehow hook to second exception maybe?