33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
|
"""
|
||
|
A bare-bones server that with echo back the request to the client.
|
||
|
|
||
|
This example demonstrates the simplest proof-of-concept of how you can write
|
||
|
your own application from scratch instead of sub-classing from the provided
|
||
|
JetforceApplication. The server/application interface is almost identical to
|
||
|
WSGI defined in PEP-3333 [1].
|
||
|
|
||
|
Unless you're feeling adventurous, you probably want to stick to the
|
||
|
JetforceApplication instead of going this low-level.
|
||
|
|
||
|
[1] https://www.python.org/dev/peps/pep-3333/#id20
|
||
|
"""
|
||
|
import jetforce
|
||
|
|
||
|
|
||
|
def app(environ, send_status):
|
||
|
"""
|
||
|
Arguments:
|
||
|
environ: A dictionary containing information about the request
|
||
|
send_status: A callback function that takes two parameters: The
|
||
|
response status (int) and the response meta text (str).
|
||
|
|
||
|
Returns: A generator containing the response body.
|
||
|
"""
|
||
|
send_status(10, "text/gemini")
|
||
|
yield f"Received path: {environ['GEMINI_URL']}"
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
server = jetforce.GeminiServer(app)
|
||
|
server.run()
|