Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/nonebot/nonecorn
ASGI server that forked from hypercorn, with extra features beyond asgi spec
https://github.com/nonebot/nonecorn
As the latter is responsive, much cleaner, and much more pleasant to
read. It is also under acti...
This allows the send_task to unblock and exit when the connection
closes. This should prevent th...
The `shutdown_trigger` argument of `worker_serve` needs to be a callable returning an awaitable,...
4b614d837842b935f3917ab3f27dc4ec070d8379 authored almost 5 years agob062659a476e7508e8c4ea5cb329a13b0e24074b authored almost 5 years ago
f164a8c48aecf18a87d8edc50c44d5dd890bf212 authored almost 5 years ago
59aaa5d8d07f317c5b7ddfea1ee14f35732baf33 authored almost 5 years ago
The proactor event loop is the default in Python >= 3.8 and sadly
errors with WinError87,
T...
42c2f6f5c9534f4a8912614a8a19a6317ee01a26 authored almost 5 years ago
This should prevent Hypercorn crashing if it tries to stat a file that
is within a path that is ...
The filter method is a class method, rather than an instance method.
992f7b9893c5c1c560dfeecff455f0f16e1bcf89 authored almost 5 years ago
If a subsequent request on a kept alive connection is received before
the http stream indicates ...
4e6a6076c7942f0d7aa8930b760e4d0e0a547eb1 authored almost 5 years ago
0880aeb52ba00df3bbe3896497864bfc105881ac authored almost 5 years ago
This fixes 0e8b1a02c8e1ddb31d163443b29e8ae52312f1c9 to use the updated
specification,
https://de...
At some point it seems to have changed from build to pipeline.
00dc9f8c19454df4dc0f836237cc1270b95536ef authored almost 5 years ago
This ensures that the latest version (supported by the installed
aioquic library) is always used.
This was missed in 6f243df889ff008bf8a8175010b660d92892669c
398510392f08ee74b51340c9b4c9df28295138f3 authored about 5 years ago
This is to ensure that the setup works correctly, and follows a trend
in the Python community of...
7da4c8e2542d702f9df11a5c8960d1181e079fb5 authored about 5 years ago
277eac7ea00fc80153df08e08bda52ac013404c5 authored about 5 years ago
This indicates the basics for how to use it, hopefully allowing people
to start and report back....
Now that Python 3.8 has been released.
cd265280c13798bef524f83646776b366bed04f3 authored about 5 years ago39511801b66fc732b5e91cc210aa5066a6e1adea authored about 5 years ago
This follows the Gunicorn API by adding an atoms method that returns
the atoms mapping. This wil...
In Python 3.8 the former error is raised rather than the latter on
Windows.
eff35830f0abc1a450e2c47f4cd81e2fd913a0c2 authored over 5 years ago
271712f8b0f943eb592f79339474a992dbad4d33 authored over 5 years ago
These don't mean much to me, but Alpha is misleading at this stage of
development.
If specified the configured Alt-Svc headers are used in preference to
auto generated ones. This ...
This allows for multiple applications to be served based on the root
path that matches the mount.
The latest version correct the reported lines for errors.
f116f69eb1184ca47243044d85e633334d3d5cd2 authored over 5 years ago
This follows the Gunicorn configuration naming, and allows users to
specify the logging configur...
This is also the common log format (with referrer and user agent
appended to the end).
46d9fea9a455d1c61e95d20f688660b37e78ce3f authored over 5 years ago
6f04e6353a34ff24207c03f01ac5b8b19c0fb83b authored over 5 years ago
As 3bdcd536068f89f743df0157eefcefa0a42baec5 removed the pseudo headers
the HTTPStream can no lon...
3602e279527653a38982e6f3a33e2631f18b4f9a authored over 5 years ago
ab41618a6fdbcb9f36899c1fff9be2d23c620179 authored over 5 years ago
As it cannot be served over TCP.
010a399cff85d5b3ed0ad796aba9c17c86ebfa90 authored over 5 years agoIt is now 23, as advertised in the Alt-Svc.
71fa0946a57a6edc0050943ff29ed390d0a6aed5 authored over 5 years ago172b55838f168b1776fb17c5c6e36be8a167e598 authored over 5 years ago
This fixes an error introduced in
836540ac4ce099ecedd7c99e5d18a92652962e55. The issue was that i...
This version should be recognised by Chrome.
e12dbebbd9d338a6daab21338ed63448c4f15a14 authored over 5 years agodfb2c6db96bac005ab3d1a9fcd25ea468fd7e1a1 authored over 5 years ago
This allows the following to work
pip install -e '.[tests]'
pytest
The worker_serve function is meant to be used in an environment
whereby the caller sets the even...
If the app handling the lifespan fails before the startup the message
should make it clear there...
Previously if the h11 protocol entered a read block state it would
prevent the keep alive update...
9918dab3f960ccaf4e67e9781dcf98bc83bec353 authored over 5 years ago
The ASGI specification has recently been updated to disallow pseudo
headers being passed to or r...
As the former is deprecated for the latter.
14d099be2bd6d8f4f7f1e4fdc9c183de76bf150f authored over 5 years ago
This utilises the new aioquic functionality to server push over
HTTP/3. As with HTTP/2 this shou...
47d47015bfae796c8c5cbc54ba19c16e47334e6d authored over 5 years ago
Otherwise the connection is considered to be "idle" still, although
`data` contains the request ...
This allows for `tox -e py37 -- …` to pass through args to pytest.
pytest: configure `testpaths...
0bee779b531b8ae1fac786df1b4aab15ac441753 authored over 5 years ago
It was assigning `--error-log`, which typically is the sentinel object
then.
db9ec5a947ad8538fbbb309d2b3c4c2539e7df25 authored over 5 years ago
d8fac8072166ae90007e346ea098e28c568cefd0 authored over 5 years ago
Other reference servers utilise this version.
6b3bbcc292f68889b9fa3cf0144325a4f9ab6852 authored over 5 years ago
This change ensures that hypercorn responds correctly if it receives only a
HEADERS frame with t...
This allows more rapid development of the interaction between aioquic
and Hypercorn at the expen...
add11719fa4b61a8b0a4c167b2cfa7442877c188 authored over 5 years ago
d1988d539b9b7ac80c8aea930e76396007cf80bc authored over 5 years ago
This alters 72b2ca0718973e8300ce26521ec3d20f5f039022 to make changing
the ownership (and umask) ...
d0053e69d9eaccb928e060ed01e168eb08369f96 authored over 5 years ago
9d52873c30623073fe2aad7e581b6f1399dc034c authored over 5 years ago
This gives the basic instructions on how to serve HTTP/3.
dae98515b6c8c7f990d19a8fda52df7602db6898 authored over 5 years ago
This catches ValueError exceptions which occur when parsing an invalid
QUIC packet.
It also ens...
3650bfaac272a419bf3be26daf79fd373fdad450 authored over 5 years ago
An example of how this is useful is to consider using Hypercorn with
nginx where nginx is config...
Closure is handled via explicit Closed events, rather than by passing
EOF markers (b""). This sh...
Hypercorn (or rather H2) is potentially vulnerable to CVE-2019-9516,
0-Length Headers Leak. Hype...
This allows the API usage to include an ability to trigger a graceful
shutdown. Without this the...
d515c3bee10a3e95c380cb9a04b77713d6a35821 authored over 5 years ago
It looks as if WebSockets are supported over HTTP/3 in the same manner
as over HTTP/2 which make...
This is part of the ASGI scope requirement and helps make Hypercorn
more useful.
This helps new users figure out how to serve an ASGI app.
3fce96473c94ae9da98572e81c9cf87515016828 authored over 5 years ago
It is very clear from the usage of serve what worker is being used, so
this is unlikely to be a ...
This should fully disable the logging (so as to improve performance).
f3df2869ac88d336bdaf58ad583201d1f8f361a6 authored over 5 years ago
On Windows it seems as if sockets must be explicitly shared to be used
in a different process to...
The ASGI specification requires a code with the disconnect
message. The absence was causing erro...
This is still a work in progress and hence is not enabled by default,
instead hypercorn will nee...
This allows the type checking to extend to usage of wsproto.
614dc12d82c7146aede9463a612d4b0ed8228e2c authored over 5 years ago
These would be thrown if a socket disconnected during the setup e.g.
during the address parsing.
This sends data as prioritised by the client using the Hyper priority
library to build and track...
Previously if the close stream was called during the handling of the
CloseStream message sending...
fc6f5a108b0912d8c0504c2e335bd67be8599623 authored over 5 years ago
9993785b852a0c3a694fe08311595d9647f4a7c6 authored over 5 years ago
This seems the correct way to determine if the reader is at the EOF,
and therefore should lead t...
min can take more than 2 arguments, and the negative chunk size case
is handled above in the whi...
2dbfd4f17ffc883f14bff28a23a20d56a55fd519 authored over 5 years ago
39e4d8970638e838500e266b5f06c9bad67d61d5 authored over 5 years ago
86b0a7badc39ea23cd1d840b4bf0efa173a0e152 authored over 5 years ago
e81ea4cf9a6be8fb575d8d9530f9998d8d94849b authored over 5 years ago
9955f437f6ee82df21464b87a36035e66d8b7375 authored over 5 years ago
50de172cca60ae096d286a3f6e5716e7464d9d4f authored over 5 years ago
This ensures that data fragments aren't sent (say if the sening task
is cancelled). Data fragmen...
This better expresses the intent of 2108c41f5ba4a77e7ae0609ad88dc5ebae6b086e
6570cda728f191a7a2174c3ac0fd9a4fa9d2d88b authored over 5 years ago
Previously if an ASGI app errored Hypercorn would attempt to cleanup
and close the connection. H...
The socket connection could disconnect during the SSL handshake
(especially if it fails to hands...
It was possible for the streams dictionary to change size during
iteration (if a stream closed t...
There is a race condition whereby a stream can be cancelled and then
finish (or vice versa) whic...