mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-02-22 02:16:42 +00:00
Update Twisted Web-based render
to use our request
Also to do one other thing Twisted Web does for resources automatically - handle UnsupportedMethod
This commit is contained in:
parent
637bb2e576
commit
538cefed3d
@ -7,13 +7,21 @@ from twisted.internet.defer import (
|
|||||||
from twisted.web.test.requesthelper import (
|
from twisted.web.test.requesthelper import (
|
||||||
DummyChannel,
|
DummyChannel,
|
||||||
)
|
)
|
||||||
from twisted.web.server import (
|
from twisted.web.error import (
|
||||||
Request,
|
UnsupportedMethod,
|
||||||
|
)
|
||||||
|
from twisted.web.http import (
|
||||||
|
NOT_ALLOWED,
|
||||||
)
|
)
|
||||||
from twisted.web.server import (
|
from twisted.web.server import (
|
||||||
NOT_DONE_YET,
|
NOT_DONE_YET,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from ..webish import (
|
||||||
|
TahoeLAFSRequest,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def render(resource, query_args):
|
def render(resource, query_args):
|
||||||
"""
|
"""
|
||||||
Render (in the manner of the Twisted Web Site) a Twisted ``Resource``
|
Render (in the manner of the Twisted Web Site) a Twisted ``Resource``
|
||||||
@ -28,9 +36,15 @@ def render(resource, query_args):
|
|||||||
``bytes``.
|
``bytes``.
|
||||||
"""
|
"""
|
||||||
channel = DummyChannel()
|
channel = DummyChannel()
|
||||||
request = Request(channel)
|
request = TahoeLAFSRequest(channel)
|
||||||
|
request.method = b"GET"
|
||||||
request.args = query_args
|
request.args = query_args
|
||||||
result = resource.render(request)
|
try:
|
||||||
|
result = resource.render(request)
|
||||||
|
except UnsupportedMethod:
|
||||||
|
request.setResponseCode(NOT_ALLOWED)
|
||||||
|
result = b""
|
||||||
|
|
||||||
if isinstance(result, bytes):
|
if isinstance(result, bytes):
|
||||||
request.write(result)
|
request.write(result)
|
||||||
done = succeed(None)
|
done = succeed(None)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user