From 6f84239e8b8386fe2d2dd2c8e12b8f7ed0ac94e1 Mon Sep 17 00:00:00 2001 From: liqiang-fit2cloud Date: Wed, 13 Nov 2024 15:14:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dswagger=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=96=87=E6=A1=A3=E4=B8=ADschema=E4=B8=8D=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/common/config/swagger_conf.py | 7 +++++++ apps/smartdoc/settings/base.py | 2 ++ 2 files changed, 9 insertions(+) diff --git a/apps/common/config/swagger_conf.py b/apps/common/config/swagger_conf.py index b3ba2720d..15a742274 100644 --- a/apps/common/config/swagger_conf.py +++ b/apps/common/config/swagger_conf.py @@ -20,3 +20,10 @@ class CustomSwaggerAutoSchema(SwaggerAutoSchema): if "api" in tags and operation_keys: return [tags_dict.get(operation_keys[1]) if operation_keys[1] in tags_dict else operation_keys[1]] return tags + def get_schema(self, request=None, public=False): + schema = super().get_schema(request, public) + if request.is_secure(): + schema.schemes = ['https'] + else: + schema.schemes = ['http'] + return schema \ No newline at end of file diff --git a/apps/smartdoc/settings/base.py b/apps/smartdoc/settings/base.py index 81d74bef8..785a3feb6 100644 --- a/apps/smartdoc/settings/base.py +++ b/apps/smartdoc/settings/base.py @@ -26,6 +26,8 @@ DATABASES = { 'default': CONFIG.get_db_setting() } +SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') + # Application definition INSTALLED_APPS = [