Skip to content

Commit

Permalink
Merge pull request #780 from plone/http11
Browse files Browse the repository at this point in the history
Fixing #779 by settings http protocol and allowing to set keep alive …
  • Loading branch information
bloodbare committed Dec 17, 2019
2 parents ee8dbe3 + 6b75952 commit 65a06d7
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 4 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ CHANGELOG
6.0.0a2 (unreleased)
--------------------

- Adapt to HTTP1.1 protocol on uvicorn by default
[bloodbare]
- PatchField: added operation "multi"
[masipcat]
- @duplicate: added option to reset acl
Expand Down
1 change: 1 addition & 0 deletions guillotina/_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,5 +91,6 @@
"search_parser": "default",
"object_reader": "guillotina.db.reader.reader",
"thread_pool_workers": 32,
"server_settings": {"uvicorn": {"timeout_keep_alive": 5, "http": "h11"}},
}
default_settings = copy.deepcopy(app_settings)
11 changes: 9 additions & 2 deletions guillotina/commands/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ def get_parser(self):
)
parser.add_argument("--port", help="Override port to run this server on", default=None, type=int)
parser.add_argument("--host", help="Override host to run this server on", default=None)

parser.add_argument("--asgi-server", default="uvicorn", type=str)
return parser

Expand All @@ -27,11 +28,17 @@ def run(self, arguments, settings, app):
if arguments.asgi_server == "uvicorn":
import uvicorn # type: ignore

config = uvicorn.Config(app, host=host, port=port, reload=arguments.reload, access_log=False)
config = uvicorn.Config(
app,
host=host,
port=port,
reload=arguments.reload,
access_log=False,
**settings["server_settings"]["uvicorn"],
)
server = uvicorn.Server(config)
self.loop.run_until_complete(server.serve())

# uvicorn.run(app, host=host, port=port, reload=arguments.reload, access_log=False, loop=self.loop)
elif arguments.asgi_server == "hypercorn":
import asyncio

Expand Down
2 changes: 1 addition & 1 deletion guillotina/contrib/dbusers/services/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from . import groups # noqa
from . import users # noqa
from . import roles # noqa
from . import users # noqa
from guillotina import configure
from guillotina.api.content import DefaultPOST
from guillotina.contrib.dbusers.content.groups import IGroupManager
Expand Down
2 changes: 1 addition & 1 deletion guillotina/contrib/dbusers/services/roles.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
name="@available-roles",
permission="guillotina.ManageUsers",
summary="Get available roles on guillotina container",
method="GET"
method="GET",
)
class AvailableRoles(Service):
async def __call__(self):
Expand Down

0 comments on commit 65a06d7

Please sign in to comment.