Skip to content

Commit

Permalink
fix bugs: django.allowed_hosts, log setup locals
Browse files Browse the repository at this point in the history
  • Loading branch information
voidZXL committed Apr 24, 2024
1 parent 317e41b commit 7fb3b56
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 4 deletions.
8 changes: 6 additions & 2 deletions utilmeta/core/request/backends/django.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from .base import RequestAdaptor
from django.http.request import HttpRequest
from django.middleware.csrf import CsrfViewMiddleware, get_token
from utilmeta.utils import parse_query_dict, cached_property, Header, LOCAL_IP, multi, exceptions
from utilmeta.utils import parse_query_dict, cached_property, Header, LOCAL_IP, multi, exceptions, url_join
from ipaddress import ip_address
from utilmeta.core.file.backends.django import DjangoFileAdaptor
from utilmeta.core.file.base import File
Expand Down Expand Up @@ -44,7 +44,11 @@ def request_method(self):
def url(self):
if hasattr(self.request, 'get_raw_uri'):
return self.request.get_raw_uri()
return self.request.build_absolute_uri()
try:
return self.request.build_absolute_uri()
except KeyError:
from utilmeta import service
return url_join(service.origin, self.path)

@property
def path(self):
Expand Down
7 changes: 6 additions & 1 deletion utilmeta/core/server/backends/django/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -280,13 +280,18 @@ def setup(self, service: UtilMeta):
setattr(self.module, middleware_func.__name__, middleware_func)
middleware.append(f'{self.module_name}.{middleware_func.__name__}')

hosts = list(self.allowed_hosts)
if service.origin:
from urllib.parse import urlparse
hosts.append(urlparse(service.origin).hostname)

settings = {
'DEBUG': not service.production,
'SECRET_KEY': self.get_secret(service),
'BASE_DIR': service.project_dir,
'MIDDLEWARE': middleware,
'INSTALLED_APPS': self.apps,
'ALLOWED_HOSTS': self.allowed_hosts,
'ALLOWED_HOSTS': hosts,
'DATABASE_ROUTERS': self.database_routers,
'APPEND_SLASH': self.append_slash,
'LANGUAGE_CODE': self.language,
Expand Down
5 changes: 5 additions & 0 deletions utilmeta/ops/log.py
Original file line number Diff line number Diff line change
Expand Up @@ -737,6 +737,11 @@ def batch_save_logs(close: bool = False):
query_logs = []
request_logs = []

if not _server:
# not setup yet
from .config import Operations
setup_locals(Operations.config())

for response in queue:
response: Response
try:
Expand Down
3 changes: 2 additions & 1 deletion utilmeta/ops/resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from .schema import NodeMetadata, ResourcesSchema, \
InstanceSchema, ServerSchema, TableSchema, DatabaseSchema, CacheSchema, ResourceData
from utilmeta import UtilMeta
from utilmeta.utils import fast_digest, json_dumps
from utilmeta.utils import fast_digest, json_dumps, ignore_errors


class ModelGenerator:
Expand Down Expand Up @@ -233,6 +233,7 @@ def register_model(mod, label):
return tables

@classmethod
@ignore_errors(default=None)
def get_db_max_connections(cls, using: str) -> int:
from django.db import connections
db_sql = {
Expand Down

0 comments on commit 7fb3b56

Please sign in to comment.