From 4f533620dac55f3f0c49aaa698b6fec15f21c95c Mon Sep 17 00:00:00 2001 From: David Date: Wed, 1 Aug 2018 09:05:09 +0200 Subject: [PATCH 1/2] Remove static markup from NodeStreamRenderer The API docs did not match the actual behaviour. htmlStart & htmlEnd should be variables that can be passed to the function, currently they are static defined in the function. --- src/server/ReactDOMNodeStreamRenderer.js | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/server/ReactDOMNodeStreamRenderer.js b/src/server/ReactDOMNodeStreamRenderer.js index 2fa1606..835c300 100644 --- a/src/server/ReactDOMNodeStreamRenderer.js +++ b/src/server/ReactDOMNodeStreamRenderer.js @@ -99,12 +99,7 @@ function originalRenderToNodeStream(element, cache, streamingStart, memLife=0) { return new ReactMarkupReadableStream(element, false, cache, streamingStart, memLife); } -export function renderToNodeStream(element, cache, res) { - - const htmlStart = - 'Page
'; - - const htmlEnd = '
'; +export function renderToNodeStream(element, cache, res, htmlStart, htmlEnd) { const streamingStart = { sliceStartCount: htmlStart.length, @@ -131,11 +126,7 @@ function originalRenderToStaticNodeStream(element, cache, streamingStart, memLif return new ReactMarkupReadableStream(element, true, cache, streamingStart, memLife); } -export function renderToStaticNodeStream(element, cache, res) { - const htmlStart = - 'Page
'; - - const htmlEnd = '
'; +export function renderToStaticNodeStream(element, cache, res, htmlStart, htmlEnd) { const streamingStart = { sliceStartCount: htmlStart.length, From cf937068e2fa97e3bbcbf9922ca02a7f14565b56 Mon Sep 17 00:00:00 2001 From: David Date: Wed, 1 Aug 2018 09:09:24 +0200 Subject: [PATCH 2/2] Update ReactDOMNodeStreamRenderer.js --- src/server/ReactDOMNodeStreamRenderer.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/ReactDOMNodeStreamRenderer.js b/src/server/ReactDOMNodeStreamRenderer.js index 835c300..5234ba3 100644 --- a/src/server/ReactDOMNodeStreamRenderer.js +++ b/src/server/ReactDOMNodeStreamRenderer.js @@ -99,7 +99,7 @@ function originalRenderToNodeStream(element, cache, streamingStart, memLife=0) { return new ReactMarkupReadableStream(element, false, cache, streamingStart, memLife); } -export function renderToNodeStream(element, cache, res, htmlStart, htmlEnd) { +export function renderToNodeStream(element, cache, res, htmlStart, htmlEnd, memLife) { const streamingStart = { sliceStartCount: htmlStart.length, @@ -109,7 +109,7 @@ export function renderToNodeStream(element, cache, res, htmlStart, htmlEnd) { cacheStream.pipe(res); cacheStream.write(htmlStart); - const stream = originalRenderToNodeStream(element, cache, streamingStart); + const stream = originalRenderToNodeStream(element, cache, streamingStart, memLife); stream.pipe(cacheStream, { end: false }); stream.on("end", () => { cacheStream.end(htmlEnd); @@ -126,7 +126,7 @@ function originalRenderToStaticNodeStream(element, cache, streamingStart, memLif return new ReactMarkupReadableStream(element, true, cache, streamingStart, memLife); } -export function renderToStaticNodeStream(element, cache, res, htmlStart, htmlEnd) { +export function renderToStaticNodeStream(element, cache, res, htmlStart, htmlEnd, memLife) { const streamingStart = { sliceStartCount: htmlStart.length, @@ -136,7 +136,7 @@ export function renderToStaticNodeStream(element, cache, res, htmlStart, htmlEnd cacheStream.pipe(res); cacheStream.write(htmlStart); - const stream = originalRenderToStaticNodeStream(element, cache, streamingStart); + const stream = originalRenderToStaticNodeStream(element, cache, streamingStart, memLife); stream.pipe(cacheStream, { end: false }); stream.on("end", () => { cacheStream.end(htmlEnd);