From ce2f504d485767dffc7beb4c0f0edfaff8e70e8a Mon Sep 17 00:00:00 2001 From: Todd Bealmear Date: Sun, 21 Dec 2014 10:53:58 -0800 Subject: [PATCH 1/3] Add support for EXPRESS_PORT variable --- src/robot.coffee | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/robot.coffee b/src/robot.coffee index 02e0626b9..e77ee1504 100644 --- a/src/robot.coffee +++ b/src/robot.coffee @@ -269,6 +269,8 @@ class Robot user = process.env.EXPRESS_USER pass = process.env.EXPRESS_PASSWORD stat = process.env.EXPRESS_STATIC + port = process.env.EXPRESS_PORT or process.env.PORT or 8080 + address = process.env.BIND_ADDRESS or '0.0.0.0' express = require 'express' @@ -284,7 +286,7 @@ class Robot app.use express.static stat if stat try - @server = app.listen(process.env.PORT || 8080, process.env.BIND_ADDRESS || '0.0.0.0') + @server = app.listen(port, address) @router = app catch err @logger.error "Error trying to start HTTP server: #{err}\n#{err.stack}" From 807c9bd74673030ed66b94de712924b9fe084d19 Mon Sep 17 00:00:00 2001 From: Todd Bealmear Date: Mon, 22 Dec 2014 12:43:23 -0800 Subject: [PATCH 2/3] Update docs --- docs/scripting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/scripting.md b/docs/scripting.md index df163950d..ec9caaba2 100644 --- a/docs/scripting.md +++ b/docs/scripting.md @@ -402,7 +402,7 @@ module.exports = (robot) -> ## HTTP Listener -Hubot includes support for the [express](http://expressjs.com/guide.html) web framework to serve up HTTP requests. It listens on the port specified by the `PORT` environment variable, and defaults to 8080. An instance of an express application is available at `robot.router`. It can be protected with username and password by specifying `EXPRESS_USER` and `EXPRESS_PASSWORD`. It can automatically serve static files by setting `EXPRESS_STATIC`. +Hubot includes support for the [express](http://expressjs.com/guide.html) web framework to serve up HTTP requests. It listens on the port specified by the `EXPRESS_PORT` or `PORT` environment variables (preferred in that order) and defaults to 8080. An instance of an express application is available at `robot.router`. It can be protected with username and password by specifying `EXPRESS_USER` and `EXPRESS_PASSWORD`. It can automatically serve static files by setting `EXPRESS_STATIC`. The most common use of this is for providing HTTP end points for services with webhooks to push to, and have those show up in chat. From 9740039c449e2a485c912ba87514186c516d6359 Mon Sep 17 00:00:00 2001 From: Todd Bealmear Date: Sat, 14 Feb 2015 10:00:27 -0800 Subject: [PATCH 3/3] Add support for EXPRESS_BIND_ADDRESS variable --- src/robot.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/robot.coffee b/src/robot.coffee index e77ee1504..3156f64f6 100644 --- a/src/robot.coffee +++ b/src/robot.coffee @@ -270,7 +270,7 @@ class Robot pass = process.env.EXPRESS_PASSWORD stat = process.env.EXPRESS_STATIC port = process.env.EXPRESS_PORT or process.env.PORT or 8080 - address = process.env.BIND_ADDRESS or '0.0.0.0' + address = process.env.EXPRESS_BIND_ADDRESS or process.env.BIND_ADDRESS or '0.0.0.0' express = require 'express'