Skip to content

Commit 4dff7e7

Browse files
Merge pull request #8 from SeokEunJu/add_allow_redirects_param
Pass allow_redirects parameter to render function
2 parents 21100c6 + 1c8a2d8 commit 4dff7e7

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

django_nextjs/render.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def _get_nextjs_response_headers(headers):
5757
return {key: headers[key] for key in useful_header_keys if key in headers}
5858

5959

60-
def _render_nextjs_page_to_string_sync(request: HttpRequest, template_name: str = "", context=None, using=None) -> str:
60+
def _render_nextjs_page_to_string_sync(request: HttpRequest, template_name: str = "", context=None, using=None, allow_redirects=False) -> str:
6161
page = requests.utils.quote(request.path_info.lstrip("/"))
6262
params = {k: request.GET.getlist(k) for k in request.GET.keys()}
6363

@@ -67,7 +67,7 @@ def _render_nextjs_page_to_string_sync(request: HttpRequest, template_name: str
6767
params=params,
6868
cookies=_get_cookies(request),
6969
headers=_get_headers(request),
70-
allow_redirects=False,
70+
allow_redirects=allow_redirects,
7171
)
7272
html = response.text
7373
response_headers = _get_nextjs_response_headers(response.headers)
@@ -81,20 +81,20 @@ def _render_nextjs_page_to_string_sync(request: HttpRequest, template_name: str
8181
return html, response.status_code, response_headers
8282

8383

84-
def render_nextjs_page_to_string_sync(request: HttpRequest, template_name: str = "", context=None, using=None) -> str:
85-
html, _, _ = _render_nextjs_page_to_string_sync(request, template_name, context, using=using)
84+
def render_nextjs_page_to_string_sync(request: HttpRequest, template_name: str = "", context=None, using=None, allow_redirects=False) -> str:
85+
html, _, _ = _render_nextjs_page_to_string_sync(request, template_name, context, using=using, allow_redirects=allow_redirects)
8686
return html
8787

8888

8989
def render_nextjs_page_sync(
90-
request: HttpRequest, template_name: str = "", context=None, content_type=None, override_status=None, using=None
90+
request: HttpRequest, template_name: str = "", context=None, content_type=None, override_status=None, using=None, allow_redirects=False
9191
) -> str:
92-
content, status, headers = _render_nextjs_page_to_string_sync(request, template_name, context, using=using)
92+
content, status, headers = _render_nextjs_page_to_string_sync(request, template_name, context, using=using, allow_redirects=allow_redirects)
9393
return HttpResponse(content, content_type, status if override_status is None else override_status, headers=headers)
9494

9595

9696
async def _render_nextjs_page_to_string_async(
97-
request: HttpRequest, template_name: str = "", context=None, using=None
97+
request: HttpRequest, template_name: str = "", context=None, using=None, allow_redirects=False
9898
) -> str:
9999
page = requests.utils.quote(request.path_info.lstrip("/"))
100100
params = [(k, v) for k in request.GET.keys() for v in request.GET.getlist(k)]
@@ -104,7 +104,7 @@ async def _render_nextjs_page_to_string_async(
104104
cookies=_get_cookies(request),
105105
headers=_get_headers(request),
106106
) as session:
107-
async with session.get(f"{NEXTJS_SERVER_URL}/{page}", params=params, allow_redirects=False) as response:
107+
async with session.get(f"{NEXTJS_SERVER_URL}/{page}", params=params, allow_redirects=allow_redirects) as response:
108108
html = await response.text()
109109
response_headers = _get_nextjs_response_headers(response.headers)
110110

@@ -119,14 +119,14 @@ async def _render_nextjs_page_to_string_async(
119119

120120

121121
async def render_nextjs_page_to_string_async(
122-
request: HttpRequest, template_name: str = "", context=None, using=None
122+
request: HttpRequest, template_name: str = "", context=None, using=None, allow_redirects=False
123123
) -> str:
124-
html, _, _ = await _render_nextjs_page_to_string_async(request, template_name, context, using=using)
124+
html, _, _ = await _render_nextjs_page_to_string_async(request, template_name, context, using=using, allow_redirects=allow_redirects)
125125
return html
126126

127127

128128
async def render_nextjs_page_async(
129-
request: HttpRequest, template_name: str = "", context=None, content_type=None, override_status=None, using=None
129+
request: HttpRequest, template_name: str = "", context=None, content_type=None, override_status=None, using=None, allow_redirects=False
130130
) -> str:
131-
content, status, headers = await _render_nextjs_page_to_string_async(request, template_name, context, using=using)
131+
content, status, headers = await _render_nextjs_page_to_string_async(request, template_name, context, using=using, allow_redirects=allow_redirects)
132132
return HttpResponse(content, content_type, status if override_status is None else override_status, headers=headers)

0 commit comments

Comments
 (0)