text: Title: Flask hangs when using ssl_context while decoding the https request 
  Body: Simplest sample program:
  
  ```python
  from flask import Flask
  
  app = Flask("TestApp")
  
  @app.route("/")
  def test():
      return "Hello World!"
  
  app.run(host="0.0.0.0", port=5001, ssl_context="adhoc")
  ```
  
  Test the web server through a browser: https://ip_address:5001/
  The result is: `Hello World!`.
  
  Run `telnet ip_address 5001` (do not add chars as it expects an SSL/TLS session)
  Test the web server through a browser: https://ip_address:5001/
  
  The browser request hangs until the telnet is killed.
  
  If you use `app.run(host="0.0.0.0", port=5001, ssl_context="adhoc", threaded=True)` the result is the same: each request is decoded before spawning the thread.
  
  Simplest example:
  
  ```python
  import time
  from flask import Flask
  
  app = Flask("TestApp")
  
  @app.route("/0")
  def test_0():
      time.sleep(10)
      return "Hello World-0!"
  
  @app.route("/1")
  def test_1():
      time.sleep(10)
      return "Hello World-1!"
  
  @app.route("/2")
  def test_2():
      time.sleep(10)
      return "Hello World-2!"
  
  app.run(host="0.0.0.0", port=5001, ssl_context="adhoc", threaded=True)
  ```
  
  Run `telnet ip_address 5001`
  Test the web server through a browser on different tabs using different routes to enable multithreading:
  
  - https://ip_address:5001/0
  - https://ip_address:5001/1
  - https://ip_address:5001/2
  
  All requests hang until the telnet is killed.
  
  It looks like when using `ssl_context` each request is strictly decoded in sequence.
  
  Environment:
  
  - Python version: 3.10
  - Flask version: 2.2.2
  
  It is also a security issue. The attack client for an *ssl_context* based web app is:
  
  ```python
  from telnetlib import Telnet
  
  hostname = '...'
  port = 5001
  
  while True:
      with Telnet(hostname, port) as tn:
          tn.read_some()
  ```
  
  As a temporary workaround, this can be added at the beginning of the Flask program:
  
  ```python
  import socket
  socket.setdefaulttimeout(5)  # seconds
  ```
  
  Notice that this program works while `telnet ip_address 5000` runs, because `ssl_context` is not used:
  
  ```python
  import time
  from flask import Flask
  
  app = Flask("TestApp")
  
  @app.route("/0")
  def test_0():
      time.sleep(10)
      return "Hello World-0!"
  
  @app.route("/1")
  def test_1():
      time.sleep(10)
      return "Hello World-1!"
  
  @app.route("/2")
  def test_2():
      time.sleep(10)
      return "Hello World-2!"
  
  app.run(host="0.0.0.0", port=5000, threaded=True)
  ```
  