Skip to content

Commit 86449d7

Browse files
Miel Vander SandeRubenVerborgh
Miel Vander Sande
authored andcommitted
Added baseUrl protocol preference
1 parent 9484aea commit 86449d7

File tree

4 files changed

+16
-12
lines changed

4 files changed

+16
-12
lines changed

bin/ldf-server

+6-2
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,14 @@ var configDefaults = JSON.parse(fs.readFileSync(path.join(__dirname, '../config/
2222
workers = parseInt(args[2], 10) || config.workers,
2323
constructors = {};
2424

25+
// Setup protocol
26+
var protocolBaseUrl = config.baseURL.match(/^(.*?):\/\/.*/);
27+
config.protocol = protocolBaseUrl ? protocolBaseUrl[1] : config.protocol;
28+
2529
// Start up a cluster master
2630
if (cluster.isMaster) {
2731
// Create workers
28-
console.log('Master %d running on http://localhost:%d/.', process.pid, port);
32+
console.log('Master %d running on %s://localhost:%d/.', process.pid, config.protocol, port);
2933
for (var i = 0; i < workers; i++)
3034
cluster.fork();
3135

@@ -170,7 +174,7 @@ else {
170174
function startWhenReady() {
171175
if (!--pending) {
172176
server.listen(port);
173-
console.log('Worker %d running on http://localhost:%d/.', process.pid, port);
177+
console.log('Worker %d running on %s://localhost:%d/.', process.pid, config.protocol, port);
174178
}
175179
}
176180

config/config-defaults.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@
5050

5151
"ssl": {
5252
"keys" : {
53-
"key": "localhost.key'",
53+
"key": "localhost.key",
5454
"ca": [],
5555
"cert": "localhost.crt.pem"
56-
},
56+
}
5757
},
5858

5959
"logging": { "enabled": false, "file": "access.log" }

lib/LinkedDataFragmentsServer.js

+6-8
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,30 @@
33

44
var _ = require('lodash'),
55
fs = require('fs'),
6-
path = require('path'),
76
Util = require('./Util'),
87
ErrorController = require('./controllers/ErrorController');
98

109
// Creates a new LinkedDataFragmentsServer
1110
function LinkedDataFragmentsServer(options) {
1211
// Create the HTTP(S) server
1312
var server, sockets = 0;
14-
1513
switch (options.protocol) {
1614
case 'https':
17-
var ssl = _.assign(options.ssl || {},
18-
_.mapValues(ssl.keys || {},
15+
var ssl = options.ssl || {};
16+
17+
var httpsOptions = _.mapValues(ssl.keys || {},
1918
function (v) {
2019
return _.isArray(v) ? _.map(v, function (w) { return fs.readFileSync(w, 'ascii'); }) : fs.readFileSync(v, 'ascii');
21-
})
22-
);
20+
});
2321

24-
server = require('https').createServer(ssl);
22+
server = require('https').createServer(httpsOptions);
2523
break;
2624
case 'http':
2725
server = require('http').createServer();
26+
break;
2827
default:
2928
throw new Error('The configured protocol ' + options.protocol + ' is invalid.');
3029
}
31-
server._protocol = protocol;
3230

3331
for (var member in LinkedDataFragmentsServer.prototype)
3432
server[member] = LinkedDataFragmentsServer.prototype[member];

test/LinkedDataFragmentsServer-test.js

+2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ describe('LinkedDataFragmentsServer', function () {
2323
server = new LinkedDataFragmentsServer({
2424
controllers: [controller],
2525
log: sinon.stub(),
26+
protocol: 'http',
2627
response: {
2728
headers: {
2829
'Access-Control-Allow-Origin': '*',
@@ -127,6 +128,7 @@ describe('LinkedDataFragmentsServer', function () {
127128
};
128129
server = new LinkedDataFragmentsServer({
129130
controllers: [controllerA, controllerB],
131+
protocol: 'http',
130132
log: sinon.stub(),
131133
});
132134
client = request.agent(server);

0 commit comments

Comments
 (0)