diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-08-11 15:47:13 +0200 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-08-11 15:47:13 +0200 |
commit | a38d19576c387e505cc468b20ca5b8bcf2fa4759 (patch) | |
tree | a578f4056dfea683d3bb2714ae1620eac576da0e /src/hydrilla/proxy/policies/payload_resource.py | |
parent | ad97639bbf982b5b3b2757e75c3f91556e3a8eac (diff) | |
download | haketilo-hydrilla-a38d19576c387e505cc468b20ca5b8bcf2fa4759.tar.gz haketilo-hydrilla-a38d19576c387e505cc468b20ca5b8bcf2fa4759.zip |
move classes/protocols for representing HTTP requests and responses data into a separate file
Diffstat (limited to 'src/hydrilla/proxy/policies/payload_resource.py')
-rw-r--r-- | src/hydrilla/proxy/policies/payload_resource.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/hydrilla/proxy/policies/payload_resource.py b/src/hydrilla/proxy/policies/payload_resource.py index b255d4e..3e1b31a 100644 --- a/src/hydrilla/proxy/policies/payload_resource.py +++ b/src/hydrilla/proxy/policies/payload_resource.py @@ -61,6 +61,7 @@ import typing as t from ...translations import smart_gettext as _ from .. import state +from .. import http_messages from . import base from .payload import PayloadAwarePolicy, PayloadAwarePolicyFactory @@ -73,7 +74,7 @@ class PayloadResourcePolicy(PayloadAwarePolicy): priority: t.ClassVar[base.PolicyPriority] = base.PolicyPriority._THREE def _make_file_resource_response(self, path: tuple[str, ...]) \ - -> base.ProducedResponse: + -> http_messages.ProducedResponse: """....""" try: file_data = self.payload_data.payload_ref.get_file_data( @@ -84,20 +85,20 @@ class PayloadResourcePolicy(PayloadAwarePolicy): return resource_blocked_response if file_data is None: - return base.ProducedResponse( + return http_messages.ProducedResponse( 404, [(b'Content-Type', b'text/plain; charset=utf-8')], _('api.file_not_found').encode() ) - return base.ProducedResponse( + return http_messages.ProducedResponse( 200, ((b'Content-Type', file_data.type.encode()),), file_data.contents ) - def consume_request(self, request_info: base.RequestInfo) \ - -> base.ProducedResponse: + def consume_request(self, request_info: http_messages.RequestInfo) \ + -> http_messages.ProducedResponse: """....""" # Payload resource pattern has path of the form: # "/some/arbitrary/segments/<per-session_token>/***" @@ -120,7 +121,7 @@ class PayloadResourcePolicy(PayloadAwarePolicy): return resource_blocked_response -resource_blocked_response = base.ProducedResponse( +resource_blocked_response = http_messages.ProducedResponse( 403, [(b'Content-Type', b'text/plain; charset=utf-8')], _('api.resource_not_enabled_for_access').encode() @@ -133,8 +134,8 @@ class BlockedResponsePolicy(base.Policy): priority: t.ClassVar[base.PolicyPriority] = base.PolicyPriority._THREE - def consume_request(self, request_info: base.RequestInfo) \ - -> base.ProducedResponse: + def consume_request(self, request_info: http_messages.RequestInfo) \ + -> http_messages.ProducedResponse: """....""" return resource_blocked_response |