diff options
author | Max Romanov <max.romanov@nginx.com> | 2020-10-01 23:55:43 +0300 |
---|---|---|
committer | Max Romanov <max.romanov@nginx.com> | 2020-10-01 23:55:43 +0300 |
commit | 12f225a43acc6b5086b08c3d7df6f6ac2322efa1 (patch) | |
tree | b74841e98672e5fe9233175ec11cb9a63739f27d /test/python/threading/asgi.py | |
parent | d97e3a3296db77f6a33ce010a66d2a0b2d4bac49 (diff) | |
download | unit-12f225a43acc6b5086b08c3d7df6f6ac2322efa1.tar.gz unit-12f225a43acc6b5086b08c3d7df6f6ac2322efa1.tar.bz2 |
Tests: added ASGI HTTP applications.
Diffstat (limited to 'test/python/threading/asgi.py')
-rw-r--r-- | test/python/threading/asgi.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/python/threading/asgi.py b/test/python/threading/asgi.py new file mode 100644 index 00000000..3c978e50 --- /dev/null +++ b/test/python/threading/asgi.py @@ -0,0 +1,42 @@ +import asyncio +import sys +import time +import threading + + +class Foo(threading.Thread): + num = 10 + + def __init__(self, x): + self.__x = x + threading.Thread.__init__(self) + + def log_index(self, index): + sys.stderr.write( + "(" + str(index) + ") Thread: " + str(self.__x) + "\n" + ) + sys.stderr.flush() + + def run(self): + i = 0 + for _ in range(3): + self.log_index(i) + i += 1 + time.sleep(1) + self.log_index(i) + i += 1 + + +async def application(scope, receive, send): + assert scope['type'] == 'http' + + Foo(Foo.num).start() + Foo.num += 10 + + await send({ + 'type': 'http.response.start', + 'status': 200, + 'headers': [ + (b'content-length', b'0'), + ] + }) |