mirror of https://github.com/status-im/metro.git
Send `X-Metro-Delta-ID` header
Summary: Adds additional headers to delta responses: - The next delta ID. This helps to defer parsing the delta payload to a different layer. - The size of the delta. This can be used as a hint for memory allocation Reviewed By: jeanlauliac Differential Revision: D7428603 fbshipit-source-id: 1d5e840991ec8cb490d33b3bc97444b0d7a3a0f3
This commit is contained in:
parent
a15a515f37
commit
01599ed55e
|
@ -433,6 +433,8 @@ describe('processRequest', () => {
|
|||
],
|
||||
reset: true,
|
||||
});
|
||||
|
||||
expect(response.headers['X-Metro-Delta-ID']).toEqual('XXXXX-0');
|
||||
});
|
||||
|
||||
it('should generate an incremental delta correctly', async () => {
|
||||
|
@ -469,6 +471,8 @@ describe('processRequest', () => {
|
|||
reset: false,
|
||||
});
|
||||
|
||||
expect(response.headers['X-Metro-Delta-ID']).toEqual('XXXXX-1');
|
||||
|
||||
expect(DeltaBundler.prototype.getDelta.mock.calls[0][1]).toEqual({
|
||||
reset: false,
|
||||
});
|
||||
|
|
|
@ -84,6 +84,7 @@ function debounceAndBatch(fn, delay) {
|
|||
};
|
||||
}
|
||||
|
||||
const DELTA_ID_HEADER = 'X-Metro-Delta-ID';
|
||||
const FILES_CHANGED_COUNT_HEADER = 'X-Metro-Files-Changed-Count';
|
||||
|
||||
class Server {
|
||||
|
@ -687,12 +688,11 @@ class Server {
|
|||
}),
|
||||
);
|
||||
|
||||
let output;
|
||||
let output, sequenceId;
|
||||
|
||||
try {
|
||||
const {delta, graph, prepend, sequenceId} = await this._getDeltaInfo(
|
||||
options,
|
||||
);
|
||||
let delta, graph, prepend;
|
||||
({delta, graph, prepend, sequenceId} = await this._getDeltaInfo(options));
|
||||
|
||||
output = {
|
||||
bundle: deltaJSBundle(
|
||||
|
@ -724,7 +724,8 @@ class Server {
|
|||
}
|
||||
|
||||
mres.setHeader(FILES_CHANGED_COUNT_HEADER, String(output.numModifiedFiles));
|
||||
mres.setHeader('Content-Type', 'application/javascript');
|
||||
mres.setHeader(DELTA_ID_HEADER, String(sequenceId));
|
||||
mres.setHeader('Content-Type', 'application/json');
|
||||
mres.setHeader('Content-Length', String(Buffer.byteLength(output.bundle)));
|
||||
mres.end(output.bundle);
|
||||
|
||||
|
|
Loading…
Reference in New Issue