@@ -80,38 +80,21 @@ async function renderPageToHtml(pageContext: PageContextServer) {
8080 const pageHtmlString = renderToString ( pageContext . page , renderToStringOptions )
8181 pageContext . pageHtmlString = pageHtmlString
8282 } else {
83- const renderOptions : RenderToStreamOptions = {
84- ...renderToStreamOptions ,
85- ...( ! streamSetting . type
86- ? { }
87- : {
88- webStream : streamSetting . type === 'web' ,
89- } ) ,
90- ...( (
91- pageContext . headers ?. [ 'user-agent' ] ||
92- // TO-DO/eventually: remove old way of acccessing the User Agent header.
93- // @ts -ignore
94- pageContext . userAgent
95- )
96- ? {
97- userAgent :
98- pageContext . headers ?. [ 'user-agent' ] ||
99- // TO-DO/eventually: remove old way of acccessing the User Agent header.
100- // @ts -ignore
101- pageContext . userAgent ,
102- }
103- : { } ) ,
104- ...(
105- // +stream.require is true => default +stream.enable is true
106- // +stream.require is false => default +stream.enable is false
107- streamSetting . enable === false
108- ? { disable : true }
109- : /* Don't override disabling when bot is detected.
110- false,
111- */
112- { }
113- ) ,
114- }
83+ const userAgent =
84+ pageContext . headers ?. [ 'user-agent' ] ||
85+ // TO-DO/eventually: remove old way of acccessing the User Agent header.
86+ // @ts -ignore
87+ pageContext . userAgent
88+ // Properties are set conditionally (instead of being assigned `undefined`) to satisfy `exactOptionalPropertyTypes`.
89+ const renderOptions : RenderToStreamOptions = { }
90+ // When streamSetting.type is null: let react-streaming decide the stream type
91+ if ( streamSetting . type ) renderOptions . webStream = streamSetting . type === 'web'
92+ if ( userAgent ) renderOptions . userAgent = userAgent
93+ // +stream.require is true => default +stream.enable is true
94+ // +stream.require is false => default +stream.enable is false
95+ // Don't override disabling when a bot is detected.
96+ if ( streamSetting . enable === false ) renderOptions . disable = true
97+ Object . assign ( renderOptions , renderToStreamOptions )
11598 const pageHtmlStream = await renderToStream ( pageContext . page , renderOptions )
11699 pageContext . pageHtmlStream = pageHtmlStream
117100 }
0 commit comments