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
da45924feee8f811d7cbdfbfb4e35c2064e6ec24 authored over 5 years ago
6b39f17b02bdd92d9eda533221b71d1d1daf6846 authored over 5 years ago
It is important that the stream is closed before the window is updated
in order to allow the sen...
Without this the connection can mistakenly enter a compression error
state, I'm not sure why.
It is important that the stream is closed before the window is updated
in order to allow the sen...
Although HTTPbis says only ASCII chars are allowed in headers latin1
is a safer choice and preve...
Now it has been nicely formatted in
0c8fe0ad1cf672c09e991b11fbe9c456baaad3b9.
0c8fe0ad1cf672c09e991b11fbe9c456baaad3b9 authored over 5 years ago
This ensures that the server correctly disconnects and the correct
events are sent between the s...
None is used to represent an unexpected disconnection rather than an
EOF marker, hence this code...
Every time a stream closes the keep alive timeout should be updated,
so that it starts if there ...
This ensures that when a client disconnects and the server is still
reading or writing a Closed ...
Hypercorn is meant to guarantee that the disconnect message is only
sent to the ASGI application...
These have been introduced by the latest mypy version.
f7272f9bb65027c89d63626b415dcf5b640ad672 authored over 5 years agoIt is meant to be milliseconds rather than microseconds.
a25199a0e8403ee43a36c4aac282c57adf8b9727 authored over 5 years ago5a1c1124b0976069ff9537be3b4942d238496aa7 authored over 5 years ago
c0f12818889c0aca72a2b0eebcd69b53edef1fe8 authored over 5 years ago
ad278bd4a4e6a927193db21bf2f7ee59f84cb0c7 authored over 5 years ago
This ensures that the closing data is sent before the stream is torn
down and closed.
There are two bugs fixed here, firslty negative flow control values
are truthy (only 0 is False)...
This allows a subclass to decide how, and crucially where, the
certificates for the SSL conext a...
This allows the following usage,
from hypercorn.trio import serve
...
binds: List[...
This ensures that WebSocket connections will close even if the client
doesn't respond with a clo...
If the connection state is DONE (or CLOSED or MUST_CLOSE) Hypercorn
will not expect to handle ev...
This prevents Hypercorn trying to send error responses after sending a
response to the client. A...
This follows the asyncio worker and closes the stream only on timeout
(rather than cancelling al...
Previously if there was trailing data after the upgrade request
(unlikely but possible) it would...
The key here is that the task that reaches the paused state is the one
that re-activates after t...
Cancellations should be re-raised rather than being considered
application errors.
The sentinel value should be checked to allow overriding via the CLI.
4c7a595dbb157e300e63ae1c993d6162a6993037 authored over 5 years ago
This follows the same interface as Gunicorn and reports the same
metrics. It should allow better...
This adds a config option ``include_server_header`` which can be set
to False in order to preven...
This allows a bind to be [::]:0 rather than :::0, in addition it
outputs IPv6 bins in the litera...
This also ensures that the correct binding is logged (say if the
configured port is 0 and hence ...
Ensure the level is set for the logger
9e1b5acb9c22957b1a60e008104eea635409ac6f authored over 5 years ago
This follows Gunicorn and allows the logger to be used rather than
print (following commits).
This deprecates `--access-log` and `--error-log` and their associated
config names `access_logge...
It has been deprecated for a while and is replaced with -k uvloop.
b003efda5b652b06c914519cd53734381b363962 authored over 5 years agoThis is helpful to collaborators.
dc1f85ce6f93abdfdc58d67c44ccc1f1f5e1d947 authored over 5 years ago
There are two parts to this, firstly the WebSocket connection won't
receive a CloseConnection ev...
This was disabled with the move to Python 3.7 in
3ca2605e25c9997768d156631693e2f3dbac9cd9 due to...
ba0cbdeb57ba28fa61702b7352dc6c2418c29a7d authored over 5 years ago
97f001ffcbe563dc5d097fd5e071f42e67b96346 authored over 5 years ago
cf6330d887b473b3546fb4a36c5705dedb02994e authored over 5 years ago
This was supported until e166198fc61bd26e17865064824e5a9b1235a11b and
is now restored. It allows...
This is a recent addition to the ASGI specification that allows the
raw (quoted) path to be pass...
This is a structural refactor aimed at reducing the amount of
duplicated logic and to separate t...
As noted in a recent issue the documentation was not clear about which
host to use and the setup...
Each stream must now be tested to see if it is an SSL stream (rather
than assuming they all are ...
trio.ssl has been deprecated since 0.11, this makes 0.11 the minimum
version Hypercorn can use. ...
This is to encourage contributions.
d825518f04c00b2c10b14149b155ae469a87c834 authored over 5 years agoThis fixes 2901272d4a214ad5dc32ed28a01469e6d3c921b1
8167c8cb1a872c57b0d9e6036eec52745e21589c authored over 5 years agoThis adds nice logos, and links back to the source code.
8cfe9352dd3d119a8340a042f4d86177d135cf17 authored over 5 years ago
This should ensure the documentation always builds and is free from
errors.
0dcdbdad893d926ef947fde231c2a415b49fd89b authored over 5 years ago
Without this I think the file is technically invalid.
ef93d741fe246846a127f9318b54505ac65f1ae7 authored almost 6 years ago
This moves tooling configuration to pyproject.toml where
possible. This seems to be gaining trac...
pytoml is no longer maintained and recommends toml is used instead.
6a2a76ff2a4ed16e697d7292749038fbb6a397c2 authored almost 6 years ago
If a keep-alive request is made but the application choses to respond
before consuming the entir...
For easier debugging on test failure.
b6f4541b15b67633418d3336d1c6a801d5a559c5 authored almost 6 years ago--py36 => --target-version py37 (3.7 is minimum supported version).
11378d68675a67ad276b8c06174f4049d173e0e7 authored almost 6 years ago
The version implemented in d47b2033e7db0eacbd7118534a35ef7dbe3bf694
would not fail correctly in ...
71619bc2af369b763e4e75c456cbf2657e9ea18f authored almost 6 years ago
See also the 0.5-maintenance branch.
29ead5d76733b3ce2861ad3ca99b5655db7cc0a6 authored almost 6 years ago
The latest wsproto version renames a function as a breaking change, so
this is required.
If logging has been setup within an application, it is used here for the
access logs instead of ...
This may be the cause of the reported errors binding to sockets.
da5c4e341e61fbd830a67dce5dc164d5357051df authored almost 6 years ago
Without this it is feasible for this checking loop to take
considerable lengths of time, espeica...
The primary usage of this is to redirect HTTP traffic to HTTPS, as
such ASGI middleware to do so...
a395637ce05b85037d1d0c6109cf0bec4b7b006f authored almost 6 years ago
The current fm color is too dark to read, this helps. See also
https://gitlab.com/vimalkvn/solar...
The current fm color is too dark to read, this helps. See also
https://gitlab.com/vimalkvn/solar...
Only Python 3.7 or greater is supported and ASGI/3 is also supported.
68d83bc90209679f21c261189fa9ffad9558495b authored almost 6 years ago
Now ASGI 3.0 is supported it makes sense to update all the app
examples and usages to ASGI 3.0.
This adds support for the latest ASGI version, whilst keeping support
for ASGI 2.0. In addition ...
Previously it would try `python module:app -m hypercorn` instead of
the correct ordering `python...
83de54fe4608f9b8f31522531c1c1e996126daf0 authored almost 6 years ago
ASGI specifies that the header names must be lowercase and that the
subprotocol can be specified...
This is to match the Smarkets style as described in
flake8-import-order as that style was and is...
This informs the ASGI application what additional features it can make
use of, specifically the ...
This fixes two issues, firstly the header names were not lowercased
(h2 does this as part of the...
ed384dd6e3bfd6f61971935492f3053959121186 authored almost 6 years ago
This fixes e963ec1cc088cc4b2af034e18977ef29d347ad62 by setting the
ssl_handshake_timeout to None...
This mitigates a DOS attack whereby the attacker simply opens
connections without attempting to ...
This is an attempt to improve the readability of the file.
The ``&something`` and ``<<: *someth...
89f5412ea6e7b7dafdeba7d8df8bd698191c7773 authored almost 6 years ago
Hypercorn 0.5.X is the last release series to support 3.6, Hypercorn
0.6 onwards uses Python 3.7...
Neither needs to import anything, both tests failed due to the removal
of run_single.
On startup failure the output is now
hypercorn.utils.LifespanTimeout: Timeout whilst awaiti...
d93da455bb84eff55255f19e4a93e3036662f2b0 authored almost 6 years ago
In doing so this highlighted a bug with the bind config parameter, in
that it had to previously ...
fe5334fdcf5cb8557d951c5652c6daa3c0ecf7cd authored almost 6 years ago
109bb2f3cd7bca632005a67aaf180906aa779a08 authored almost 6 years ago
WebSocket servers buffer data on the way to the client. This buffer is
unbounded. Wait for the b...
This indicates that the only supported ASGI protocol is HTTP, without
this Hypercorn will fail t...
I've tested the reloading on Windows and Linux and it works. This is
quite a complex system - wi...
2e72ba25d8f09a110406def50a67d629851454ff authored almost 6 years ago
This fixes a bug in 6fcd77629a923b31307fc6d67dedc9b1f9276f9b which
manifests when the connection...
9aac7f8c9661190ad3e1fe18a003d7864346c97f authored almost 6 years ago
This fixes a bug in 39041f27040edec88dd4840122812a96d443e7d9 whereby
the stream would be closed ...
Much like with h11 in 98936be8141d3d015304bf73c652a6dbda0b6992 the
stream should be reset if the...
d87a05a61a97629216cffe00c41a11acdffb3404 authored almost 6 years ago