Comments (1)
import asyncio
import ssl
import uvloop
class HTTP(asyncio.Protocol):
def __init__(self):
self.transport = None
def connection_made(self, transport) -> None:
self.transport = transport
def data_received(self, data) -> None:
print(data)
self.transport.write(
b'HTTP/1.1 200 OK\r\nContent-Length: 0\r\nConnection: keep-alive\r\n\r\n'
)
self.transport.close()
def connection_lost(self, exc) -> None:
if self.transport is not None:
self.transport.close()
self.transport = None
def make_tls_context():
ctx = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
ctx.load_cert_chain('cert.crt', 'cert.key') # Adjust paths to your certificates
return ctx
async def start_server():
loop = asyncio.get_running_loop()
server = await loop.create_server(
lambda: HTTP(), '127.0.0.1', 443, backlog=65535, ssl=make_tls_context()
)
async with server:
await server.serve_forever()
uvloop.install()
asyncio.run(start_server())
from uvloop.
Related Issues (20)
- [0.18.0] Running black causes core dump: src/unix/core.c:633: uv__close: Assertion `fd > 2' failed. HOT 5
- Idea: changing libuv not to install a signal handler
- Incorrect typing for set_task_factory HOT 1
- Please upgrade cython (3.0.x) HOT 8
- Possible to add `_start_tls_compatible` attribute to `TCPTransport`?
- Current version of libuv HOT 1
- Embedded Python interpreter in a C++ application making use of libuv
- UDPTransport returning when data is empty
- pipes from subprocess_exec do not have extra info 'pipe' (incompatible with vanilla asyncio) HOT 1
- libuv 1.48.0: getaddrinfo('', 0): OSError: [Errno 22] Invalid argument HOT 6
- Type annotations HOT 1
- Server.serve_forever() isn't cancelled when Server.close() is called
- uvloop fails to build with Python 3.13.0a5: error: implicit declaration of function ‘_Py_RestoreSignals’ HOT 4
- Qualify claim of being drop-in replacement to asyncio
- Access length of the ._ready queue? HOT 1
- BusError in uvloop within loop extract_stack for nested async_generators
- sys.exit(...) exception swallowed by uvloop
- Unable to pip install uvloop on Android using Termux HOT 2
- vulnerability in libuv v1.46.0 HOT 3
- create_subprocess_shell does not have the user parameter that asyncio has
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uvloop.