from soyokaze import Client, Message, Method, Port, Server, Url
def greet(request):
name = (request.target or "/").lstrip("/") or "World"
return Message.text(f"Hello, {name}!", request.version)
def main():
server = Server()
handle = server.serve(greet, [Port.TCP(0)])
client = Client()
connection = client.open(Url(f"http://127.0.0.1:{handle.port}/"))
for target in ["/", "/soyokaze"]:
response = client.request(connection, Message.request(Method.GET, target, connection.version))
print(f"{target} -> {response.status_code} {response.body().decode()}")
connection.close()
handle.close(5)
if __name__ == "__main__":
main()