aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/proxy/policies.py
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-07-27 15:56:24 +0200
committerWojtek Kosior <koszko@koszko.org>2022-08-10 17:25:05 +0200
commit879c41927171efc8d77d1de2739b18e2eb57580f (patch)
treede0e78afe2ea49e58c9bf2c662657392a00139ee /src/hydrilla/proxy/policies.py
parent52d12a4fa124daa1595529e3e7008276a7986d95 (diff)
downloadhaketilo-hydrilla-879c41927171efc8d77d1de2739b18e2eb57580f.tar.gz
haketilo-hydrilla-879c41927171efc8d77d1de2739b18e2eb57580f.zip
unfinished partial work
Diffstat (limited to 'src/hydrilla/proxy/policies.py')
-rw-r--r--src/hydrilla/proxy/policies.py76
1 files changed, 0 insertions, 76 deletions
diff --git a/src/hydrilla/proxy/policies.py b/src/hydrilla/proxy/policies.py
deleted file mode 100644
index 5e9451b..0000000
--- a/src/hydrilla/proxy/policies.py
+++ /dev/null
@@ -1,76 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-# Various policies for altering HTTP requests.
-#
-# This file is part of Hydrilla&Haketilo.
-#
-# Copyright (C) 2022 Wojtek Kosior
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <https://www.gnu.org/licenses/>.
-#
-#
-# I, Wojtek Kosior, thereby promise not to sue for violation of this
-# file's license. Although I request that you do not make use this code
-# in a proprietary program, I am not going to enforce this in court.
-
-import dataclasses as dc
-import typing as t
-
-from abc import ABC
-
-class Policy(ABC):
- pass
-
-class PayloadPolicy(Policy):
- """...."""
- def assets_base_url(self) -> str:
- """...."""
- return 'https://example.com/static/'
-
- def script_urls(self) -> t.Sequence[str]:
- """...."""
- # TODO: implement
- return ('https://example.com/static/somescript.js',)
-
- def is_eval_allowed(self) -> bool:
- """...."""
- # TODO: implement
- return True
-
-class MetaResourcePolicy(Policy):
- pass
-
-class AllowPolicy(Policy):
- pass
-
-@dc.dataclass
-class RuleAllowPolicy(AllowPolicy):
- pattern: str
-
-class FallbackAllowPolicy(AllowPolicy):
- pass
-
-class BlockPolicy(Policy):
- pass
-
-@dc.dataclass
-class RuleBlockPolicy(BlockPolicy):
- pattern: str
-
-class FallbackBlockPolicy(BlockPolicy):
- pass
-
-@dc.dataclass
-class ErrorBlockPolicy(BlockPolicy):
- error: Exception