CORS! #1
@ -1,6 +1,6 @@
|
||||
[tool.poetry]
|
||||
name = "spiderweb-framework"
|
||||
version = "0.11.0"
|
||||
version = "0.12.0"
|
||||
description = "A small web framework, just big enough for a spider."
|
||||
authors = ["Joe Kaufeld <opensource@joekaufeld.com>"]
|
||||
readme = "README.md"
|
||||
|
@ -2,7 +2,7 @@ from peewee import DatabaseProxy
|
||||
|
||||
DEFAULT_ALLOWED_METHODS = ["GET"]
|
||||
DEFAULT_ENCODING = "UTF-8"
|
||||
__version__ = "0.11.0"
|
||||
__version__ = "0.12.0"
|
||||
|
||||
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie
|
||||
REGEX_COOKIE_NAME = r"^[a-zA-Z0-9\s\(\)<>@,;:\/\\\[\]\?=\{\}\"\t]*$"
|
||||
|
@ -49,6 +49,7 @@ class SpiderwebRouter(LocalServerMixin, MiddlewareMixin, RoutesMixin, FernetMixi
|
||||
staticfiles_dirs: list[str] = None,
|
||||
routes: list[tuple[str, Callable] | tuple[str, Callable, dict]] = None,
|
||||
error_routes: dict[int, Callable] = None,
|
||||
allowed_hosts=None,
|
||||
secret_key: str = None,
|
||||
session_max_age=60 * 60 * 24 * 14, # 2 weeks
|
||||
session_cookie_name="swsession",
|
||||
@ -69,9 +70,10 @@ class SpiderwebRouter(LocalServerMixin, MiddlewareMixin, RoutesMixin, FernetMixi
|
||||
self.append_slash = append_slash
|
||||
self.templates_dirs = templates_dirs
|
||||
self.staticfiles_dirs = staticfiles_dirs
|
||||
self._middleware: list[str] = middleware if middleware else []
|
||||
self._middleware: list[str] = middleware or []
|
||||
self.middleware: list[Callable] = []
|
||||
self.secret_key = secret_key if secret_key else self.generate_key()
|
||||
self.allowed_hosts = allowed_hosts or ["*"]
|
||||
|
||||
self.extra_data = kwargs
|
||||
|
||||
|
1
spiderweb/middleware/cors.py
Normal file
1
spiderweb/middleware/cors.py
Normal file
@ -0,0 +1 @@
|
||||
# https://gist.github.com/FND/204ba41bf6ae485965ef
|
@ -72,6 +72,9 @@ class Request:
|
||||
]
|
||||
for f in fields:
|
||||
self.META[f] = self.environ.get(f)
|
||||
for f in self.environ.keys():
|
||||
if f.startswith("HTTP_"):
|
||||
self.META[f] = self.environ[f]
|
||||
self.META["client_address"] = get_client_address(self.environ)
|
||||
|
||||
def populate_cookies(self) -> None:
|
||||
|
@ -15,4 +15,7 @@
|
||||
<p>
|
||||
<img src="/static/aaaaaa.gif" alt="AAAAAAAAAA">
|
||||
</p>
|
||||
<p>
|
||||
{{ request.META }}
|
||||
</p>
|
||||
{% endblock %}
|
||||
|
Loading…
Reference in New Issue
Block a user