Skip to content

Commit

Permalink
more
Browse files Browse the repository at this point in the history
  • Loading branch information
cirospaciari committed Oct 12, 2024
1 parent 523b88f commit 9167863
Showing 1 changed file with 76 additions and 0 deletions.
76 changes: 76 additions & 0 deletions test/js/node/test/parallel/http2-sent-headers.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
//#FILE: test-http2-sent-headers.js
//#SHA1: cbc2db06925ef62397fd91d70872b787363cd96c
//-----------------
'use strict';

const h2 = require('http2');

const hasCrypto = (() => {
try {
require('crypto');
return true;
} catch (err) {
return false;
}
})();

(hasCrypto ? describe : describe.skip)('http2 sent headers', () => {
let server;
let client;
let port;

beforeAll((done) => {
server = h2.createServer();

server.on('stream', (stream) => {
stream.additionalHeaders({ ':status': 102 });
expect(stream.sentInfoHeaders[0][':status']).toBe(102);

stream.respond({ abc: 'xyz' }, { waitForTrailers: true });
stream.on('wantTrailers', () => {
stream.sendTrailers({ xyz: 'abc' });
});
expect(stream.sentHeaders.abc).toBe('xyz');
expect(stream.sentHeaders[':status']).toBe(200);
expect(stream.sentHeaders.date).toBeDefined();
stream.end();
stream.on('close', () => {
expect(stream.sentTrailers.xyz).toBe('abc');
});
});

server.listen(0, () => {
port = server.address().port;
done();
});
});

afterAll((done) => {
server.close(() => {
done();
});
});

test('client request headers', (done) => {
client = h2.connect(`http://localhost:${port}`);
const req = client.request();

req.on('headers', (headers, flags) => {
expect(headers[':status']).toBe(102);
expect(typeof flags).toBe('number');
});

expect(req.sentHeaders[':method']).toBe('GET');
expect(req.sentHeaders[':authority']).toBe(`localhost:${port}`);
expect(req.sentHeaders[':scheme']).toBe('http');
expect(req.sentHeaders[':path']).toBe('/');

req.resume();
req.on('close', () => {
client.close();
done();
});
});
});

//<#END_FILE: test-http2-sent-headers.js

0 comments on commit 9167863

Please sign in to comment.