add demo wsgi project (server + app)

This commit is contained in:
Helmut Merz 2024-02-20 16:10:26 +01:00
parent c4459866c8
commit 265048e76a
5 changed files with 43 additions and 0 deletions

8
demo/app.py Normal file
View file

@ -0,0 +1,8 @@
# py-scopes/demo/app.py
def demo_app(environ, start_response):
status = '200 OK'
headers = [("Content-type", "text/plain; charset=utf-8")]
start_response(status, headers)
return ['Hello World'.encode()]

9
demo/config.py Normal file
View file

@ -0,0 +1,9 @@
# py-scopes/demo/config.py
from dotenv import load_dotenv
from os import getenv
load_dotenv()
server_port = getenv('SERVER_PORT', '8999')

9
demo/main.py Normal file
View file

@ -0,0 +1,9 @@
# py-scopes/demo/main.py
import config
from app import demo_app
import server
server.run(demo_app, config)

12
demo/server.py Normal file
View file

@ -0,0 +1,12 @@
# py-scopes/demo/server.py
from wsgiref.simple_server import make_server
def run(app, config):
port = int(config.server_port)
with make_server('', port, app) as httpd:
print(f'Serving on port {port}.')
try:
httpd.serve_forever()
except KeyboardInterrupt:
print('Shutting down.')

View file

@ -19,4 +19,9 @@ dependencies = [
] ]
[project.optional-dependencies] [project.optional-dependencies]
demo = ["python-dotenv"]
test = ["pytest"] test = ["pytest"]
[tool.setuptools]
packages = ["scopes"]