@@ -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
8989def 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
9696async 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
121121async 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
128128async 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