Skip to content

Commit f9ad02d

Browse files
committed
BREAKING: Expose only createServer, not the Server class directly
This simplifies the API & internals, and matches the norms in most of the corresponding Node APIs. The Server type is still exported for TypeScript usage.
1 parent 347e971 commit f9ad02d

5 files changed

Lines changed: 12 additions & 12 deletions

File tree

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ API
7575
Exports
7676
-------
7777

78-
* **Server** - A class similar to https.Server (except instances have `setTimeout()` from http.Server).
79-
8078
* **createServer**(< _object_ >tlsConfig[, < _function_ >requestListener]) - _Server_ - Creates and returns a new Server instance.
8179

8280
How it Works

src/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export interface HttpolyglotOptions {
3838
tls?: https.ServerOptions | tls.Server;
3939
}
4040

41-
export class Server extends net.Server {
41+
class Server extends net.Server {
4242

4343
private _httpServer: http.Server;
4444
private _http2Server: http2.Http2Server;
@@ -211,6 +211,8 @@ export class Server extends net.Server {
211211
}
212212
}
213213

214+
export type { Server };
215+
214216
/**
215217
* Create an Httpolyglot instance with just a request listener to support plain-text
216218
* HTTP & HTTP/2 on the same port, with incoming TLS connections being closed immediately.

test/http.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@ import * as net from 'net';
22
import * as http from 'http';
33
import { expect } from 'chai';
44

5-
import { Server } from '..';
5+
import * as httpolyglot from '..';
66
import { Deferred, getDeferred, streamToBuffer, sendRawRequest } from './test-util';
77

88
describe("HTTP", () => {
99

10-
let server: Server;
10+
let server: httpolyglot.Server;
1111
let serverReqRes: Deferred<[http.IncomingMessage, http.ServerResponse]>;
1212

1313
beforeEach(() => {
1414
serverReqRes = getDeferred();
15-
server = new Server((req, res) => serverReqRes.resolve([req, res]));
15+
server = httpolyglot.createServer((req, res) => serverReqRes.resolve([req, res]));
1616
server.listen();
1717
});
1818

test/http2.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@ import * as http from 'http';
33
import * as http2 from 'http2';
44
import { expect } from 'chai';
55

6-
import { Server } from '..';
6+
import * as httpolyglot from '..';
77
import { testKey, testCert, Deferred, getDeferred, streamToBuffer, sendRawRequest } from './test-util';
88

99

1010
describe("HTTP/2", () => {
1111

12-
let server: Server;
12+
let server: httpolyglot.Server;
1313
let serverReqRes: Deferred<[http.IncomingMessage, http.ServerResponse]>;
1414

1515
beforeEach(() => {
1616
serverReqRes = getDeferred();
17-
server = new Server({
17+
server = httpolyglot.createServer({
1818
tls: {
1919
key: testKey,
2020
cert: testCert,

test/https.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ import * as http from 'http';
44
import * as https from 'https';
55
import { expect } from 'chai';
66

7-
import { Server } from '..';
7+
import * as httpolyglot from '..';
88
import { testKey, testCert, Deferred, getDeferred, streamToBuffer, sendRawRequest } from './test-util';
99

1010
describe("HTTPS", () => {
1111

12-
let server: Server;
12+
let server: httpolyglot.Server;
1313
let serverReqRes: Deferred<[http.IncomingMessage, http.ServerResponse]>;
1414

1515
beforeEach(() => {
1616
serverReqRes = getDeferred();
17-
server = new Server({
17+
server = httpolyglot.createServer({
1818
tls: { key: testKey, cert: testCert }
1919
}, (req, res) =>
2020
serverReqRes.resolve([req, res])

0 commit comments

Comments
 (0)