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

Refactor structure to allow for a new worker class

The asyncio worker class code is moved into a asyncio directory solely
to facilitate another wor...

ea7ae78ee8c419a9628f53148c3cf713fd4cb61e authored over 6 years ago
Bump and release 0.3.2

90bdc960cafddd974583150c3495e0587b02749b authored over 6 years ago
Add worker-class option to the config and CLI

This allows the worker class to be specified as either asyncio, or
uvloop currently but with mor...

a8d8069128fb3e9046c8d09c1f4e80d5dfe565d5 authored over 6 years ago
Bugfix 1115d71fa624072940a0b065bdb40de70be8a7be

Ensure the artwork is present in the mainfest.

687d8c1243e8ab734f0d9a0f23c0df5fcd4c3bfc authored over 6 years ago
Add a Logo for Hypercorn

This is made with help from the vecteezy.com and stet.io editors.

1115d71fa624072940a0b065bdb40de70be8a7be authored over 6 years ago
Cope with a None loop argument for run_single

Quart will use loop = None which causes issues, as this was previously
allowed. This will act as...

05f754e09b5db3ca7d46de3329b73a6eb6e9d93a authored over 6 years ago
Bump and release 0.3.1

1b2a5d9a17f25e095619bbbf29f7e51ee1083fc5 authored over 6 years ago
Bugfix cf0b257a08a351e20620ccb0f503b077e4e6686a

Missed some run_single usages.

67b0e46856664045d6f30d6e2106e1dce609d628 authored over 6 years ago
Bugfix ensure the event-loop is configured before the app is created

This ensures that any asyncio primitives created with the app are
aware of the correct (fully co...

cf0b257a08a351e20620ccb0f503b077e4e6686a authored over 6 years ago
flake

b47f44091f1dddb762d3cdca8e67c67b25356a41 authored over 6 years ago
Fix for non-unix

4f52a9057ffe11b9a00850a474b42693121a4c4d authored over 6 years ago
Bump and release 0.3.0

783f75f7a0f4f19462008397ca24457ec79aadf5 authored over 6 years ago
Use the latest wsproto release

This allows the workaround for the connection header to be removed as
well as the pinning of h11.

d2f1f54e8eb308a17fc9c8b71fa19f0df1dc26ef authored over 6 years ago
Add support for opening a socket from a file descriptor

This is especially useful well working with systemd as it allows a
systemd created socket to be ...

26b45ab5b028dde10901d944817a84b060f0376e authored over 6 years ago
Add initial, simple, PID file support

This simply writes the master PID to a specified file.

2171f791443ee5c5f1571ce45316b150562eeca1 authored over 6 years ago
Bugfix f2e1ed620499fb6faebdde50f1053179b7ed1e1e

Sometimes an empty message is sent

45279bfdfa0114dffd688b86ffab747e7d752f4d authored over 6 years ago
Ensure Hypercorn errors if sent wrong types

This matches the ASGI specification "[the server] should raise an
exception out of the send awai...

f2e1ed620499fb6faebdde50f1053179b7ed1e1e authored over 6 years ago
Fix indentation to ensure hosting is printed

The hosting should be printed whether explicitly set in a bind or not.

92b1a109315fb410d8f92fe3c039a8ee4e967490 authored over 6 years ago
Allow the h2 max inbound frame size to be configured

By default Hypercorn uses the minimum value, roughly matching the h11
max incomplete size value.

e7bb32e8fc6ca8d950a79cbab09fb7af7c13b568 authored over 6 years ago
Improve SSL Context configuration

This ensures that the SSL context has the correct configuration in
terms of disabled versions an...

047a927a9478ebfe6d64267b66a58293e685cd6b authored over 6 years ago
Remove unused and incorrect documentation

efd5aabd39ba2ed1eaae40237ba5aa0778db43dd authored over 6 years ago
Add the ASGI version to the scope

This is new to the ASGI specification, and should help applications
understand what ASGI specifi...

2b5c29c1326b79f90998aae106d11893eee0d650 authored over 6 years ago
Fix quickstart example

The body should be bytes.

e83ed97ec8e7387a49cb18841cf92c7643c70b25 authored over 6 years ago
Bugfix c5eecd776453182db6069718af3501e49d7367f2

Ensure that websocket connections are not killed by the timeout.

32ee7e0d1003b61c4f1194c8f64d2a6408a32418 authored over 6 years ago
Alter keep alive timeout system

This will now timeout if a request isn't received within the keep
alive timeout as opposed to ti...

c5eecd776453182db6069718af3501e49d7367f2 authored over 6 years ago
Do less encoding and decoding of h2 headers

As h2 allows headers to be sent to it in bytes form, and returns
headers in bytes form and as AS...

22f54df4d080ca9657aed93182d337ecc5756e8c authored over 6 years ago
Bugfix propagate TERM signal to wokers

This ensures that there is a graceful shutdown when the master
receives a SIGTERM, and that kill...

fc4248d2e0e45cc4e0a127a69462c8f88975746e authored over 6 years ago
Support serving on a unix domain socket

This is a request feature that makes Hypercorn easier to use on unix
systems.

749c0b7b3dbe1cea6b9ff86eb97a0d808fd38d6a authored over 6 years ago
Add the ability to specify a file logging target

This was originally intended but not implemented. This allows
hypercorn to be invoked with a fil...

cc53383612ede10fb484aec2ab807a6109709fc1 authored over 6 years ago
Bump and release 0.2.4

118f6ab2049480121f8731890ec68a3f66610e37 authored over 6 years ago
Bugix loop usage and creation for multiple workers

This partially reverts b9ea2230d952b75aff93355cdcd825b9ba2a9dd1 in
order to support multiple wor...

85ce85d16c55df75ff6624020ff8708dd39c30fd authored over 6 years ago
Bugfix correctly handle TERM and INT signals

This should ensure that the cleanup code is always triggered before
the process exists. It may n...

e4bc403e50de8f5b09e3fae070fbe141bee21be1 authored over 6 years ago
Bugfix HTTP/1.1 -> HTTP/2 Upgrade requests

These were failing due to variables being used before they were
defined and then a lack of the c...

8fa56fc957098210efab9728b7c67c9d71f932fc authored over 6 years ago
Bugfix set the default log level if std(out/err) is used

This sets the level to INFO, as Gunicorn does - so seems like a
sensible default.

9bcfbf79e815b87980c4a334bb964e6c214d836f authored over 6 years ago
Bugfix shutdown on reload

This ensures that the shutdown code is completed before the process is
killed and restarted. Thi...

f7a0ccd78b079b2f84fbc6dbad1a1c99069b9e36 authored over 6 years ago
Raise a runtime error if reloading is used with multiple workers

The reloading mechanism is hacky and really only suitable for
development with a single worker.

ded87cd1fae719b49980e55a94b6a74fe850d7bc authored over 6 years ago
Update h2 compliance test to use latest ssl config setup

This should fix the error being seen in CI due to
b8ae2510da40cf465286eb6d4ef78cf9635aec89 not f...

cbca52e126c204903e546989278e2160b0175854 authored over 6 years ago
Bugfix don't force the ALPN protocols

This will allow for a user to configure SSL as they like in relation
to the ALPN protocols adver...

b8ae2510da40cf465286eb6d4ef78cf9635aec89 authored over 6 years ago
Bump and release 0.2.3

088bab2c151cbb77b68f42078179c8f313f3f4bb authored over 6 years ago
Bugfix setting ssl from config files

Previously there was no (easy/obvious) way to set the SSL settings
from a configuration file and...

9d90897de5b054191c6418331236bf13b56e868b authored over 6 years ago
Bugfix ensure modules aren't set as config values

I think this can only apply to the `ssl` module given the name match,
however this should stop t...

07ca0b899923111bfbfaa4c6e01cac0cfd7fd87d authored over 6 years ago
Add Python 3.7 classifier to indicate support

607d93520ca2727a65edd06407350660276bda31 authored over 6 years ago
Switch from ensure_future to create_task

The latter is preferred when a future isn't required and the loop is
available.

7d285d86d1b44cdf7ae1079a04aa00cef773e3d3 authored over 6 years ago
Bugfix use the wsgiref datetime formatter

This exists for servers to set the date header, and is hence correct
and likely to remain so.

e513047f431c880ec292fb38abf08514ffe06d4e authored over 6 years ago
Bugfix query_string value ASGI conformance

The ASGI specification states that the query_string value in the scope
should be everything afte...

abc552864abdccd88469195354a50e1344992fa1 authored over 6 years ago
Update CI to test against Python3.7

Now that it has been released.

62318cfd6e16954f64622c5ddacc95bbaa26a51b authored over 6 years ago
Bump and release 0.2.2

4a231da634a3568a02fd577019b734619b0ca343 authored over 6 years ago
Fix 8b00d1ef8f5e50f65afece21641102f4a23e725c

The sys_args argument should be Optional in order to work as an entry
point. It existed to allow...

87db4954b66990382ba81b6127eae83828214fdc authored over 6 years ago
Bump and release 0.2.1

5db4f960d2bcf4fed20a2256b310f39b56c7742a authored over 6 years ago
Bugfix keep config settings rather than replace with CLI defaults

This should ensure that the arguments set in the config is only
overridden by actuall command li...

8b00d1ef8f5e50f65afece21641102f4a23e725c authored over 6 years ago
Bump and release 0.2.0

2c1d24e1f20a2191d4d7326f7b939adae49f28c6 authored over 6 years ago
Bugfix client and server scope values should be a single tuple

The previous version of the ASGI specification incorrectly suggested
they should be a list of tu...

334adf59bdcea4d5448eef86de742340d9251f3d authored over 6 years ago
Bugfix cope with non-conformant ASGI implementations

The ASGI specification for websockets states the bytes key value
should either be None or bytes,...

df7684ca10179077b0a6b4b64d2e237ff4ca3dc7 authored over 6 years ago
Bugfix log target setting in config

The previous version never set the log target. Note the logging still
needs work as only one tar...

60f07424bd3a4f9242c72e32a8898e4907bca178 authored over 6 years ago
Do not create a new loop, use the default one.

Normally, components are expected to use the default loop
unless explicitly provided one (also q...

b9ea2230d952b75aff93355cdcd825b9ba2a9dd1 authored over 6 years ago
Implement root_path ASGI scope support

This follows the Daphne usage whereby it is specifiable via the
configuration.

dd940c90ac1c79dd7e7e574a0e296b7542cf0e2a authored over 6 years ago
Correctly implement the client and server scope values

These should be a List[Tuple[str, int]] regardless of IPv4 or IPv6, it
isn't clear what it shoul...

0f81039ac5eef6a7a8d96acd2230874b49ae6bc3 authored over 6 years ago
Unblock on connection close

This allows frameworks calling ``await send`` to also unblock and
therefore cleanup when the con...

cbf303728818b6fa6c6926eb7340c43c6daf79d6 authored over 6 years ago
Add the ability to load the configuration from a file

This allows for the command line argument ``-c`` or ``--config`` to be
used to specify a TOML or...

bcc2acbcb9f2e9e44521b3d80642cc52ff608139 authored over 6 years ago
Bugfix send a closed message once

This better matches the expected behaviour.

9b22f5048bb623cc2b07586ddb78ec03de271777 authored over 6 years ago
linting

512aef665b960d6048db0df920eccec0ec118b48 authored over 6 years ago
Support ipv6 binding (e.g. '--bind :::12345')

4a8a3df76b0f1659e530353cacf58d15511dcf03 authored over 6 years ago
Don't send empty bytes (b'')

Empty bytes (b'') are common with ASGI as it indicates the other parts
of the message are key. S...

f453e5baaf0b4dca9ed474a34a85dbebcd61b077 authored over 6 years ago
Update documentation from Quart

The remaining serving rather than framework relevant documention in
Quart is moved to Hypercorn ...

8acdeb32342fea3efec085fd87e3063f850a52e3 authored over 6 years ago
Merge branch 'stuff' into 'master'

Avoid an UnboundLocalError in logging

See merge request pgjones/hypercorn!2

e3368154bcda5c8148e87cffb2104725addd0ded authored over 6 years ago
Merge branch 'fix-ssl-cert-files' into 'master'

Fix ssl: values from 'args' instead of hardcoded

See merge request pgjones/hypercorn!1

f59c91d9b83262c842942141503ba0a1093a27e4 authored over 6 years ago
Avoid an UnboundLocalError in logging

30d0467c731849d619a517387c6536bb8e722459 authored over 6 years ago
Fix ssl: values from 'args' instead of hardcoded

d2d7906a24d15900845cbae8fe03879f639b4332 authored over 6 years ago
Bugfix don't log without a log target

Logging is an expensive operation (even if there is no handler to log
to).

68fccac70ffed02fc93d38ff040ffc861e6ff1bc authored over 6 years ago
Bugfix correct the ASGI extension definitions

These changed during the ASGI review, and I forgot to update
Hypercorn.

80110feb022b4382acfacb1591e2cfc2510914a6 authored over 6 years ago
Add provisional startup/cleanup funtionality

This allows frameworks to have startup and cleanup (before any serving
and after all serving) co...

897100d9364f216e693a71a6694e7047e29bc497 authored over 6 years ago
Add initial multiprocessing (worker) support

This allows for better utilisation of a machine as it likely has more
than one CPU. Hence a proc...

400b08b096eb58f2a40993a08b6c5cc214c271f6 authored over 6 years ago
Release 0.1.0

d57105b8079f83a26d38f3f3a3b72d84440310f3 authored over 6 years ago
Add initial documentation

This sets up basic documentation and also clarifies some config values
to match the documented v...

705b81cdb68234dc6c1d32d16e5154e370746aef authored over 6 years ago
Refactor websocket code, allow HTTP responses

This follows a similar refactor to the h11 and h2 in
448087102ba6b6f2744cd59aa9d44936fcc73f81, t...

2f785d4a95dd9b8c68a0ffd842e88b59d70e6cb3 authored over 6 years ago
Drop alpine version for autobahn testsuite

Cryptography isn't compatible with the latest libressl.

602fe5ee9245fc4c8a0e380db46442c9983caad8 authored over 6 years ago
Add discussion point documentation on backpressure

This should help ASGI Framework authors ensure that backpressure is
correctly dealt with, withou...

b160d62b67eec6e67d06439870506db52d430e03 authored over 6 years ago
Allow uvloop usage

uvloop is a fast implementation of the event loop, it can be
optionally used by installing `hype...

59c58f8b093b6675fc49c1c579c1a96b81fe8042 authored over 6 years ago
Link to the relevant Hyper libraries in the README

c53d64610326d6766708863fbe47c31ff233c896 authored over 6 years ago
Correctly handle unhandled ASGI Framework exceptions

This fixes a bug in 8efe627e8924f5f9611ffb492b416b62671d5835 whereby a
correct framework StreamE...

7c8848eb033b705656c513886c0ec01134fa3bbd authored over 6 years ago
Fix typo in autobahn compliance

Missed in 448087102ba6b6f2744cd59aa9d44936fcc73f81

bcf88817175b78577935a2ad792e357bee3af66b authored over 6 years ago
Handle unhandled exceptions in an ASGI Framework

These exceptions are handled by closing the connection if h11 or
stream if h2. This allows the s...

8efe627e8924f5f9611ffb492b416b62671d5835 authored over 6 years ago
Add command line arguments to specify the SSL settings

This covers most (all?) of the desired settings for SSL with naming
matching Gunicorn.

5fea7bfa64d72b4b005b88c32c6df0c45f00526b authored over 6 years ago
Refactor the h11 and h2 serving code

This removes the inheritance from the http module for h11 and h2 on
the grounds that it made the...

448087102ba6b6f2744cd59aa9d44936fcc73f81 authored over 6 years ago
Add typical command line arguments

These are incomplete, e.g. bind only considers the first supplied
value. This should provide the...

33e6a364494a4f72fdd1546ee85bb89e7c073a45 authored over 6 years ago
Initial working Hypercorn

This takes the serving code from Quart 0.5.0 and turns it into a
working ASGI server. This will ...

b0ccb73bbdcb568015930103582d88d08ad7850c authored over 6 years ago