Skip to content

Commit f6b2c56

Browse files
Update Server constructor with createServerFunction instead http lib. (#21)
1 parent 1fd8cbe commit f6b2c56

File tree

11 files changed

+74
-76
lines changed

11 files changed

+74
-76
lines changed

src/js/bun/Bunttp.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,20 @@ module.exports = class Bunttp {
88
}
99

1010
createServer(cb) {
11-
this.#serverConfig.fetch = cb;
12-
return this;
11+
return new Bunttp({fetch: cb});
1312
}
1413

1514
listen(options, cb) {
16-
this.#serverConfig.port = options.port;
17-
this.#server = Bun.serve(this.#serverConfig);
15+
const config = {...this.#serverConfig, port: options.port};
16+
const server = Bun.serve(config);
1817
cb();
19-
return this;
18+
return new Bunttp(config, server);
2019
}
2120

2221
close(cb) {
23-
this.#server.stop();
22+
const server = this.#server.stop();
2423
cb();
25-
return this;
24+
return new Bunttp(this.#serverConfig, server);
2625
}
2726

2827
request = fetch;

src/js/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module.exports = {
22
server: require('./server'),
33
client: require('./client'),
44
bun: {
5-
server: {...require('./server'), ...require('./bun/').server},
5+
server: {...require('./server'), ...require('./bun').server},
66
client: {...require('./client'), ...require('./bun').client},
77
bunttp: require('./bun').bunttp
88
}

src/js/server/Server.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,20 @@ module.exports = class Server {
33
#options;
44
#request;
55
#response;
6-
#http;
6+
#createServerFunction;
77
#server;
88

9-
constructor(endpoints, options, request, response, http, server) {
9+
constructor(endpoints, options, request, response, createServerFunction, server) {
1010
this.#endpoints = endpoints;
1111
this.#options = options;
1212
this.#request = request;
1313
this.#response = response;
14-
this.#http = http;
14+
this.#createServerFunction = createServerFunction;
1515
this.#server = server;
1616
}
1717

1818
start() {
19-
const server = this.#http.createServer(async (requestStream, responseStream) => {
19+
const server = this.#createServerFunction(async (requestStream, responseStream) => {
2020
try {
2121
return await (this.#response
2222
.copy(await this.#endpoints
@@ -53,7 +53,7 @@ module.exports = class Server {
5353
this.#options,
5454
this.#request,
5555
this.#response,
56-
this.#http,
56+
this.#createServerFunction,
5757
server));
5858
}
5959
);
@@ -68,7 +68,7 @@ module.exports = class Server {
6868
this.#options,
6969
this.#request,
7070
this.#response,
71-
this.#http))
71+
this.#createServerFunction))
7272
);
7373
});
7474
}

src/test/e2e/bun/client/client.test.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ const {describe, test, beforeAll, afterAll} = require('bun:test');
44
const assert = require('node:assert');
55

66

7-
const http =
8-
// require('node:http');
9-
require('../../../../js').bun.bunttp;
10-
const requestFunction = http.request;
7+
const createServerFunction =
8+
// require('node:http').createServer;
9+
require('../../../../js').bun.bunttp.createServer;
10+
const requestFunction =
11+
// require('node:http').request;
12+
require('../../../../js').bun.bunttp.request;
1113
const {
1214
OutputRequest,
1315
InputResponse
@@ -56,7 +58,7 @@ const serverConfig = new Server(
5658
{port: 8090},
5759
new InputRequest(),
5860
new OutputResponse(),
59-
http
61+
createServerFunction
6062
);
6163

6264
const request = new OutputRequest(new InputResponse(), requestFunction);

src/test/e2e/bun/server/json.server.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
const {describe, test, beforeAll, afterAll} = require('bun:test');
44
const assert = require('node:assert');
55

6-
const http = require('../../../../js').bun.bunttp;
6+
const createServerFunction = require('../../../../js').bun.bunttp.createServer;
77
const {
88
Server,
99
JsonInputRequest,
@@ -49,7 +49,7 @@ const serverConfig = new Server(
4949
{port: 8081},
5050
new JsonInputRequest(new InputRequest()),
5151
new JsonOutputResponse(new OutputResponse()),
52-
http
52+
createServerFunction
5353
);
5454

5555

src/test/e2e/bun/server/server.test.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
const {describe, test, beforeAll, afterAll} = require('bun:test');
44
const assert = require('node:assert');
55

6-
const http = require('../../../../js').bun.bunttp;
6+
const createServerFunction = require('../../../../js').bun.bunttp.createServer;
77
const {
88
Server,
99
Endpoints,
@@ -47,11 +47,10 @@ const serverConfig = new Server(
4747
{port: 8080},
4848
new InputRequest(),
4949
new OutputResponse(),
50-
http
50+
createServerFunction
5151
);
5252

5353

54-
5554
describe('server', async () => {
5655
let serverInstance;
5756
beforeAll(async () => {

src/test/e2e/client/client.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ const {describe, it, before, after} = require('node:test');
44
const assert = require('node:assert');
55

66

7-
const http = require('node:http');
8-
const requestFunction = http.request;
7+
const creatServerFunction = require('node:http').createServer;
8+
const requestFunction = require('node:http').request;
99
const {
1010
OutputRequest,
1111
InputResponse
@@ -50,7 +50,7 @@ const serverConfig = new Server(
5050
{port: 8090},
5151
new InputRequest(),
5252
new OutputResponse(),
53-
http
53+
creatServerFunction
5454
);
5555
const request = new OutputRequest(new InputResponse(), requestFunction);
5656

src/test/e2e/server/json.server.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const {
1010
} = require('../../../js').server;
1111
const {describe, it, before, after} = require('node:test');
1212
const assert = require('node:assert');
13-
const http = require('node:http');
13+
const createServerFunction = require('node:http').createServer;
1414

1515
const testBody = {value: 'value', queryValue: 'otherQueryValue'};
1616

@@ -48,7 +48,7 @@ const serverConfig = new Server(
4848
{port: 8081},
4949
new JsonInputRequest(new InputRequest()),
5050
new JsonOutputResponse(new OutputResponse()),
51-
http
51+
createServerFunction
5252
);
5353

5454

src/test/e2e/server/server.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
const {describe, it, before, after} = require('node:test');
44
const assert = require('node:assert');
55

6-
const http = require('node:http');
6+
const createServerFunction = require('node:http').createServer;
77
const {
88
Server,
99
InputRequest,
@@ -48,7 +48,7 @@ const serverConfig = new Server(
4848
{port: 8080},
4949
new InputRequest(),
5050
new OutputResponse(),
51-
http
51+
createServerFunction
5252
);
5353

5454
describe('server', async () => {

src/test/js/bun/server/response/OutputResponse.test.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
const {describe, test, spyOn, expect, beforeEach, afterEach} = require('bun:test');
44
const assert = require('node:assert');
55

6-
const {OutputResponse} = require('../../../../../js/').bun.server;
6+
const {OutputResponse} = require('../../../../../js').bun.server;
77

88

99
const testOptions = {
@@ -112,7 +112,7 @@ describe('OutputResponse', () => {
112112
diagnosticOptions.spy.diagnosticStatusCode = spyOn(diagnosticOptions, 'diagnosticStatusCode');
113113

114114
assert.throws(() => new OutputResponse(diagnosticOptions).flush(),
115-
{message: 'statusCode error', cause: 'INVALID_RESPONSE'});
115+
{message: 'statusCode error'});
116116

117117
expect(diagnosticOptions.spy.diagnosticBody).toHaveBeenCalledTimes(0);
118118
expect(diagnosticOptions.spy.diagnosticStatusCode).toHaveBeenCalledTimes(1);
@@ -126,7 +126,7 @@ describe('OutputResponse', () => {
126126
diagnosticOptions.spy.diagnosticHeaders = spyOn(diagnosticOptions, 'diagnosticHeaders');
127127

128128
assert.throws(() => new OutputResponse(diagnosticOptions).flush(),
129-
{message: 'headers error', cause: 'INVALID_RESPONSE'});
129+
{message: 'headers error'});
130130

131131
expect(diagnosticOptions.spy.diagnosticBody).toHaveBeenCalledTimes(0);
132132
expect(diagnosticOptions.spy.diagnosticStatusCode).toHaveBeenCalledTimes(1);
@@ -140,7 +140,7 @@ describe('OutputResponse', () => {
140140
diagnosticOptions.spy.diagnosticBody = spyOn(diagnosticOptions, 'diagnosticBody');
141141

142142
assert.throws(() => new OutputResponse(diagnosticOptions).flush(),
143-
{message: 'body error', cause: 'INVALID_RESPONSE'});
143+
{message: 'body error'});
144144

145145
expect(diagnosticOptions.spy.diagnosticBody).toHaveBeenCalledTimes(1);
146146
expect(diagnosticOptions.spy.diagnosticStatusCode).toHaveBeenCalledTimes(1);

0 commit comments

Comments
 (0)