bedrock-server

A bedrock module that provides a basic HTTP and HTTPS server. Other
modules, such as bedrock-express, typically provide a routing framework
and other features for writing Web applications, but depend on this module
for core low-level functionality like listening for incoming connections,
redirecting HTTP traffic to the HTTPS port, and configuring SSL/TLS.
Requirements
Quick Examples
npm install bedrock-server
An example of attaching a custom request handler to the server once Bedrock is
ready.
var bedrock = require('bedrock');
var server = require('bedrock-server');
bedrock.events.on('bedrock.ready', function() {
server.servers.https.on('request', function(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
});
});
bedrock.start();
By default, bedrock-server
will redirect any HTTP requests to HTTPS. To
replace this default behavior, do the following:
var server = require('bedrock-server');
bedrock.events.on('bedrock.ready', function() {
server.servers.http.on('request', function(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
});
});
bedrock.start();
Configuration
For documentation on server configuration, see config.js.
Setup
- [optional] Tweak configuration
- Map the
bedrock.localhost
hostname (or whatever you've configured) to your
machine:
- Edit the /etc/hosts file as the administrator/root.
- Add an entry mapping the IP address to
bedrock.localhost
.
For example: 127.0.0.1 localhost bedrock.localhost
.
(If accessing the server externally, you may need to use the IP address
of your primary network device).
To access the server once bedrock is running:
How It Works
TODO