Setting options
bud.serve also supports an options object for more specific configurations:
bud.serve({
host: `dev.example.test`,
})
You can also pass options as a second parameter to bud.serve. This can be convenient when you want to specify some options but want to keep the simple configuration syntax for the rest:
bud.serve(`https://dev.example.test`, {
cert: bud.path('example.test.crt'),
key: bud.path('example.test.key'),
})
All options
| Property | Type | Description |
|---|---|---|
| host | string | URL['hostname'] |
| port | number | URL['port'] |
| url | URL | URL |
| ssl | boolean | Is the server https enabled? |
| cert | string | The ssl certificate path |
| key | string | The ssl key path |
| options | Https.ServerOptions | Direct access to the server options |
Setting the origin
You can use host and port to set the server origin:
bud.serve({
host: 'dev.example.test',
port: 3000,
})
Alternatively, you can set the origin with a using the url property:
bud.serve({
url: new URL('http://dev.example.test:3000'),
})
SSL
Use the ssl option to indicate that the server should be https enabled. This requires that cert and key options to be set as well.
bud.serve({
ssl: true,
host: 'dev.example.test',
cert: bud.path('example.test.crt'),
key: bud.path('example.test.key'),
})
Note in the example above that the cert and key are paths. This is different than the Node API, which both expect a Buffer.
You don't need to include ssl if you are using the url property. It will be inferred from the URL's protocol.
Using the Node API
If you want to use the node API more directly you can use the options property:
const cert = await bud.fs.read('example.test.crt')
const key = await bud.fs.read('example.test.key')
bud.serve(`https://dev.example.test`, {
options: {cert, key},
})