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

Following the release of 0.7.1 bump to +dev

da45924feee8f811d7cbdfbfb4e35c2064e6ec24 authored over 5 years ago
Bump and release 0.7.1

6b39f17b02bdd92d9eda533221b71d1d1daf6846 authored over 5 years ago
Bugfix HTTP/2 stream closing issues

It is important that the stream is closed before the window is updated
in order to allow the sen...

9fe554aa4d2d9eff5396e290983f376757aed5c1 authored over 5 years ago
Bugfix send HTTP/2 push promise data sooner

Without this the connection can mistakenly enter a compression error
state, I'm not sure why.

006dfe840afb50611f5f86137dcde353c8c18833 authored over 5 years ago
Bugfix HTTP/2 stream closing issues

It is important that the stream is closed before the window is updated
in order to allow the sen...

612b7769c6b964287c5f1cc5f07265e8a26f4367 authored over 5 years ago
Bugfix specify header encoding

Although HTTPbis says only ASCII chars are allowed in headers latin1
is a safer choice and preve...

13f385be7277f407a9a361c958820515e16e217e authored over 5 years ago
CI check the formatting of setup.py

Now it has been nicely formatted in
0c8fe0ad1cf672c09e991b11fbe9c456baaad3b9.

d653d858f4ddfffc79a0d3d60faec828e642ce58 authored over 5 years ago
tweak, format setup.py

0c8fe0ad1cf672c09e991b11fbe9c456baaad3b9 authored over 5 years ago
Bugfix correctly handle server disconnections

This ensures that the server correctly disconnects and the correct
events are sent between the s...

73af8790efed6738834404e85399669b4cb9fdf2 authored over 5 years ago
Bugfix don't pass None to the wsproto connection

None is used to represent an unexpected disconnection rather than an
EOF marker, hence this code...

f0659f0e14c7c002d7478ae2ebb0f50b4860b1ba authored over 5 years ago
Bugfix ensure the keep alive timeout is updated

Every time a stream closes the keep alive timeout should be updated,
so that it starts if there ...

e6d61ac786a35e22816c748ada96894cdb6a789f authored over 5 years ago
Bugfix correctly handle client disconnection

This ensures that when a client disconnects and the server is still
reading or writing a Closed ...

8e5620052d18787e43a6de469ea53f08ccb72478 authored over 5 years ago
Bugfix ensure disconnect messages are only sent once

Hypercorn is meant to guarantee that the disconnect message is only
sent to the ASGI application...

ce1836517459c7a8ef9cffa892c83f2fcfdc0364 authored over 5 years ago
Fix mypy issues

These have been introduced by the latest mypy version.

f7272f9bb65027c89d63626b415dcf5b640ad672 authored over 5 years ago
Bugix correct the request duration units

It is meant to be milliseconds rather than microseconds.

a25199a0e8403ee43a36c4aac282c57adf8b9727 authored over 5 years ago
Following the release of 0.7.0 bump to +dev

5a1c1124b0976069ff9537be3b4942d238496aa7 authored over 5 years ago
Bugfix server push headers should not be combined

c0f12818889c0aca72a2b0eebcd69b53edef1fe8 authored over 5 years ago
Bump and release 0.7.0

ad278bd4a4e6a927193db21bf2f7ee59f84cb0c7 authored over 5 years ago
Bugfix flush before closing the stream

This ensures that the closing data is sent before the stream is torn
down and closed.

ac014dd17012b539d07b83d485a056c7abd73a84 authored over 5 years ago
Bugfix HTTP/2 flow control handling

There are two bugs fixed here, firslty negative flow control values
are truthy (only 0 is False)...

10b214a85303b73ecc5d0d9e4219edb52cd5b7db authored over 5 years ago
modify Config for subclassing create_ssl_context

This allows a subclass to decide how, and crucially where, the
certificates for the SSL conext a...

25348c21e754084459c609c16e10724716cc2c31 authored over 5 years ago
Report the list of binds on trio worker startup

This allows the following usage,

from hypercorn.trio import serve

...
binds: List[...

aae3c317524c1b0cc2fe8fa25eded758d9ad54fb authored over 5 years ago
Timeout close handshake WebSocket connections

This ensures that WebSocket connections will close even if the client
doesn't respond with a clo...

ccc233c3c37023f131a4c0b47d8fc8ccc099c43b authored over 5 years ago
Bugfix early exit h11 event handling

If the connection state is DONE (or CLOSED or MUST_CLOSE) Hypercorn
will not expect to handle ev...

13bbb7faeebed7462449d751b0e198079c120755 authored over 5 years ago
Only send error responses when in the right h11 states

This prevents Hypercorn trying to send error responses after sending a
response to the client. A...

b30b446510b8ac0f07070e41bd7a741e9215bc48 authored over 5 years ago
Change trio worker timeout system

This follows the asyncio worker and closes the stream only on timeout
(rather than cancelling al...

56e765cabc19c822e9ae96f5824549083f750727 authored over 5 years ago
Bugfix ensure WebSocket data is received

Previously if there was trailing data after the upgrade request
(unlikely but possible) it would...

115b02ea9219c6fa622abe7e38ab2c802d8dd181 authored over 5 years ago
Fix pipelining behaviour

The key here is that the task that reaches the paused state is the one
that re-activates after t...

eda1b553f3c69d531af93635cfd41962c3a78ae8 authored over 5 years ago
Fix cancellation handling

Cancellations should be re-raised rather than being considered
application errors.

d70b15eee59fc9ec7a26766da83b6c0fc9e28819 authored over 5 years ago
Fix bug in 1649c331895c3f5738f5798493c53b13b222be06

The sentinel value should be checked to allow overriding via the CLI.

4c7a595dbb157e300e63ae1c993d6162a6993037 authored over 5 years ago
Add the ability to log metrics to statsd

This follows the same interface as Gunicorn and reports the same
metrics. It should allow better...

1649c331895c3f5738f5798493c53b13b222be06 authored over 5 years ago
Allow the server header to be omitted

This adds a config option ``include_server_header`` which can be set
to False in order to preven...

70be2ac5a7d2336ed804c47cb6dfb353d94ab9bb authored over 5 years ago
Support literal IPv6 addresses (square brackets)

This allows a bind to be [::]:0 rather than :::0, in addition it
outputs IPv6 bins in the litera...

87b6d2081ce4f2105ca9f010647e9747a1ec5584 authored over 5 years ago
Log the binding, rather than print

This also ensures that the correct binding is logged (say if the
configured port is 0 and hence ...

1df1c27f25461f17a14edeb0d60b2460a2fa12d3 authored over 5 years ago
Bugfix 1da32a182d56ea6ea83dde443b69c1b71147557d

Ensure the level is set for the logger

9e1b5acb9c22957b1a60e008104eea635409ac6f authored over 5 years ago
Set the default error log (target) to - i.e. stderr

This follows Gunicorn and allows the logger to be used rather than
print (following commits).

54bc6f96bead34d8d5146b10f0edc9d31ba50c15 authored over 5 years ago
Rationalise the logging settings based on Gunicorn

This deprecates `--access-log` and `--error-log` and their associated
config names `access_logge...

1da32a182d56ea6ea83dde443b69c1b71147557d authored over 5 years ago
Remove uvloop argument

It has been deprecated for a while and is replaced with -k uvloop.

b003efda5b652b06c914519cd53734381b363962 authored over 5 years ago
Following the release of 0.6.0 bump to +dev

This is helpful to collaborators.

dc1f85ce6f93abdfdc58d67c44ccc1f1f5e1d947 authored over 5 years ago
Bugfix WebSocket shutdown

There are two parts to this, firstly the WebSocket connection won't
receive a CloseConnection ev...

f6d6595b6f7246f9aa26597870028e96f42718d6 authored over 5 years ago
Re-enable the autobahn websocket testing in CI

This was disabled with the move to Python 3.7 in
3ca2605e25c9997768d156631693e2f3dbac9cd9 due to...

a642b815e7d65a1b1d7c0798a8d3bc0db8d12807 authored over 5 years ago
format with black

ba0cbdeb57ba28fa61702b7352dc6c2418c29a7d authored over 5 years ago
remove npn

97f001ffcbe563dc5d097fd5e071f42e67b96346 authored over 5 years ago
Update usage.rst (fix typo in example command)

cf6330d887b473b3546fb4a36c5705dedb02994e authored over 5 years ago
Add the ability to upgrade from HTTP/1 to HTTP/2

This was supported until e166198fc61bd26e17865064824e5a9b1235a11b and
is now restored. It allows...

2b9e068a55d00dbe987585a963990f5121c52244 authored over 5 years ago
Support raw_path in the scope

This is a recent addition to the ASGI specification that allows the
raw (quoted) path to be pass...

3445952bb3abfe45a67baaa2aa44d9dc03a1b244 authored over 5 years ago
Structually refactor the codebase

This is a structural refactor aimed at reducing the amount of
duplicated logic and to separate t...

e166198fc61bd26e17865064824e5a9b1235a11b authored over 5 years ago
Clarify the HTTP -> HTTPS redirect documentation

As noted in a recent issue the documentation was not clear about which
host to use and the setup...

2a1043d1b6860d507c0a02af435f638c4bde5410 authored over 5 years ago
Bugfix support insecure binds with Trio workers

Each stream must now be tested to see if it is an SSL stream (rather
than assuming they all are ...

9c72ecc60d6a728c98d420d2265685cf2fffc731 authored over 5 years ago
BugFix further trio.ssl imports and bump trio version

trio.ssl has been deprecated since 0.11, this makes 0.11 the minimum
version Hypercorn can use. ...

1ec12d89210ed365caba962aafc44a21b66a9130 authored over 5 years ago
Try make the README more welcoming

This is to encourage contributions.

d825518f04c00b2c10b14149b155ae469a87c834 authored over 5 years ago
Fix docs testing

This fixes 2901272d4a214ad5dc32ed28a01469e6d3c921b1

8167c8cb1a872c57b0d9e6036eec52745e21589c authored over 5 years ago
Improve the documentation

This adds nice logos, and links back to the source code.

8cfe9352dd3d119a8340a042f4d86177d135cf17 authored over 5 years ago
Add testing of the documentation build

This should ensure the documentation always builds and is free from
errors.

2901272d4a214ad5dc32ed28a01469e6d3c921b1 authored over 5 years ago
Log exceptions with lifespan errors

0dcdbdad893d926ef947fde231c2a415b49fd89b authored over 5 years ago
Add build-system to pyproject.toml

Without this I think the file is technically invalid.

ef93d741fe246846a127f9318b54505ac65f1ae7 authored almost 6 years ago
Update and improve tooling configuration

This moves tooling configuration to pyproject.toml where
possible. This seems to be gaining trac...

3b7677e39db001a06ea4dbd26e1f15d78c7acdb2 authored almost 6 years ago
Switch from pytoml to toml

pytoml is no longer maintained and recommends toml is used instead.

6a2a76ff2a4ed16e697d7292749038fbb6a397c2 authored almost 6 years ago
Bugfix ensure early connection closure

If a keep-alive request is made but the application choses to respond
before consuming the entir...

4901eedeeb9673cfcc13068beaf479ba57a8b93a authored almost 6 years ago
Add a repr to the helper MockTransport

For easier debugging on test failure.

b6f4541b15b67633418d3336d1c6a801d5a559c5 authored almost 6 years ago
Follow the black warning and change usage

--py36 => --target-version py37 (3.7 is minimum supported version).

11378d68675a67ad276b8c06174f4049d173e0e7 authored almost 6 years ago
Bugfix lifespan failure handling

The version implemented in d47b2033e7db0eacbd7118534a35ef7dbe3bf694
would not fail correctly in ...

c6eca075755a0fd10ca4a3457a902ab5bf3507ac authored almost 6 years ago
Bump and release 0.6.0

71619bc2af369b763e4e75c456cbf2657e9ea18f authored almost 6 years ago
Add CHANGELOG entries for 0.5.4

See also the 0.5-maintenance branch.

29ead5d76733b3ce2861ad3ca99b5655db7cc0a6 authored almost 6 years ago
Upgrade wsproto version

The latest wsproto version renames a function as a breaking change, so
this is required.

6226dff5033f1106a0795f35a046be995ccdd95f authored almost 6 years ago
Don't propagate access logs

If logging has been setup within an application, it is used here for the
access logs instead of ...

57d0f94c90a733add931ce56d3281a359e3c306a authored almost 6 years ago
Bugix RESUSE -> REUSE typo

This may be the cause of the reported errors binding to sockets.

da5c4e341e61fbd830a67dce5dc164d5357051df authored almost 6 years ago
Yield to the event loop after checking each module for changes

Without this it is feasible for this checking loop to take
considerable lengths of time, espeica...

e97e9f1896c50beb7cbde9baabf6d8eed7092c6c authored almost 6 years ago
Support serving on insecure binds alongside secure binds

The primary usage of this is to redirect HTTP traffic to HTTPS, as
such ASGI middleware to do so...

4e44ae077975f8d432a508356ee4446c64537c9b authored almost 6 years ago
Fix a minor issue with the docs

a395637ce05b85037d1d0c6109cf0bec4b7b006f authored almost 6 years ago
Improve the readability of the docs

The current fm color is too dark to read, this helps. See also
https://gitlab.com/vimalkvn/solar...

2b7402f2829e8f8742082704ba4fe5794ced9866 authored almost 6 years ago
Improve the readability of the docs

The current fm color is too dark to read, this helps. See also
https://gitlab.com/vimalkvn/solar...

f81c3d5ee0c0583d5f529586a984c323b62920b0 authored almost 6 years ago
Update README given recent changes

Only Python 3.7 or greater is supported and ASGI/3 is also supported.

68d83bc90209679f21c261189fa9ffad9558495b authored almost 6 years ago
Change all apps to ASGI 3.0

Now ASGI 3.0 is supported it makes sense to update all the app
examples and usages to ASGI 3.0.

4a1630cfea841d90aee22cbd3137f1c1d1550f18 authored almost 6 years ago
Support ASGI 3.0

This adds support for the latest ASGI version, whilst keeping support
for ASGI 2.0. In addition ...

d47b2033e7db0eacbd7118534a35ef7dbe3bf694 authored almost 6 years ago
Bugfix reloading when invocated as python -m hypercorn

Previously it would try `python module:app -m hypercorn` instead of
the correct ordering `python...

bb6989da48080478a87d4e909b3da00fe6fe6ca4 authored almost 6 years ago
Added check for supported ssl versions

83de54fe4608f9b8f31522531c1c1e996126daf0 authored almost 6 years ago
Bugfix ensure the response headers are correctly built

ASGI specifies that the header names must be lowercase and that the
subprotocol can be specified...

c2718adec1be89cfe5281a9251db858c977f09c3 authored almost 6 years ago
Choose reverse_relative=True for the isort style

This is to match the Smarkets style as described in
flake8-import-order as that style was and is...

094a155c6fb99576b3403e2d7751a3d773d4c621 authored almost 6 years ago
Add the spec_version to the scope

This informs the ASGI application what additional features it can make
use of, specifically the ...

21ebeb3dca78f711c02d26530d3c321fc249a4c8 authored almost 6 years ago
Bugfix correctly support the ASGI specification

This fixes two issues, firstly the header names were not lowercased
(h2 does this as part of the...

821ac362c716e6644851bfa7887273154cd5157b authored almost 6 years ago
Pause reading during h11 pipelining

ed384dd6e3bfd6f61971935492f3053959121186 authored almost 6 years ago
Fix ssl handshake usage if no ssl

This fixes e963ec1cc088cc4b2af034e18977ef29d347ad62 by setting the
ssl_handshake_timeout to None...

e285d9a1365b5378f0f344f756af594e40944f70 authored almost 6 years ago
Add an SSL handshake timeout

This mitigates a DOS attack whereby the attacker simply opens
connections without attempting to ...

e963ec1cc088cc4b2af034e18977ef29d347ad62 authored almost 6 years ago
Remove duplication in gitlab CI file

This is an attempt to improve the readability of the file.

The ``&something`` and ``<<: *someth...

89f5412ea6e7b7dafdeba7d8df8bd698191c7773 authored almost 6 years ago
Stop supporting Python 3.6, support only 3.7 or better

Hypercorn 0.5.X is the last release series to support 3.6, Hypercorn
0.6 onwards uses Python 3.7...

3ca2605e25c9997768d156631693e2f3dbac9cd9 authored almost 6 years ago
Fix compliance scripts following 2ef4ec156b625d3e5d32a162deedde6f7aff655a

Neither needs to import anything, both tests failed due to the removal
of run_single.

e7a874f7e5fcce9cc80b90154f0cf5f9a832f39a authored almost 6 years ago
Add a LifespanTimeout Exception to better communicate the failure

On startup failure the output is now

hypercorn.utils.LifespanTimeout: Timeout whilst awaiti...

d93da455bb84eff55255f19e4a93e3036662f2b0 authored almost 6 years ago
Remove features previously deprecated

In doing so this highlighted a bug with the bind config parameter, in
that it had to previously ...

2ef4ec156b625d3e5d32a162deedde6f7aff655a authored almost 6 years ago
Bump and release 0.5.3

fe5334fdcf5cb8557d951c5652c6daa3c0ecf7cd authored almost 6 years ago
Fixed import from deprecated trio.ssl

109bb2f3cd7bca632005a67aaf180906aa779a08 authored almost 6 years ago
Bugfix WebSocket unbounded memory usage

WebSocket servers buffer data on the way to the client. This buffer is
unbounded. Wait for the b...

a758091e06df44e7b1a3cf5b4f7bf078801bd54a authored almost 6 years ago
Update quickstart docs

This indicates that the only supported ASGI protocol is HTTP, without
this Hypercorn will fail t...

437d3397e5bffb05b47f1dabde59a2fc1b1a264a authored almost 6 years ago
Bugfix reloading on both Windows and Linux

I've tested the reloading on Windows and Linux and it works. This is
quite a complex system - wi...

871668fe32c130de55d6aeaa7035be6187f3b152 authored almost 6 years ago
Bump and release 0.5.2

2e72ba25d8f09a110406def50a67d629851454ff authored almost 6 years ago
Bugfix ensure stream is not in closed dict when reseting

This fixes a bug in 6fcd77629a923b31307fc6d67dedc9b1f9276f9b which
manifests when the connection...

1783e6d483410371b555abaec7d69d6ee521335b authored almost 6 years ago
Bump and release 0.5.1

9aac7f8c9661190ad3e1fe18a003d7864346c97f authored almost 6 years ago
Bugfix ensure connection is not closed when reseting streams

This fixes a bug in 39041f27040edec88dd4840122812a96d443e7d9 whereby
the stream would be closed ...

6fcd77629a923b31307fc6d67dedc9b1f9276f9b authored almost 6 years ago
Bugfix ensure h2 streams are closed/reset

Much like with h11 in 98936be8141d3d015304bf73c652a6dbda0b6992 the
stream should be reset if the...

39041f27040edec88dd4840122812a96d443e7d9 authored almost 6 years ago
Ignore PEP8 error so build passes

d87a05a61a97629216cffe00c41a11acdffb3404 authored almost 6 years ago