Skip to content

Commit 807e90e

Browse files
Add support for specifying printer server's IP
1 parent cb53d87 commit 807e90e

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

lib/bind.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,18 @@ module.exports = function (printer) {
2323
} else {
2424
server = printer.server = http.createServer(onrequest)
2525
server.on('error', onerror)
26-
server.listen(printer.port, onlistening)
26+
server.listen({
27+
host: printer.host,
28+
port: printer.port
29+
}, onlistening)
2730
}
2831

2932
// Enable destroy method in http server
3033
serverDestroy(server)
3134

3235
// Enhance printer object
3336
printer.destroy = destroy
37+
printer.bonjour = bonjour
3438

3539
return printer
3640

@@ -100,14 +104,14 @@ module.exports = function (printer) {
100104
function onlistening () {
101105
printer.port = server.address().port
102106

103-
if (!printer.uri) printer.uri = 'ipp://' + os.hostname() + ':' + printer.port + '/'
107+
if (!printer.uri) printer.uri = 'ipp://' + printer.host + ':' + printer.port + '/'
104108

105109
debug('printer "%s" is listening on %s', printer.name, printer.uri)
106110
printer.start()
107111

108112
if (printer._zeroconf) {
109113
debug('advertising printer "%s" on network on port %s', printer.name, printer.port)
110-
bonjour.publish({ type: 'ipp', port: printer.port, name: printer.name })
114+
bonjour.publish({ type: 'ipp', ip: printer.host, port: printer.port, name: printer.name, host: printer.host })
111115
}
112116
}
113117
}

lib/printer.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ var debug = require('debug')(require('../package').name)
66
var ipp = require('ipp-encoder')
77
var utils = require('./utils')
88
var bind = require('./bind')
9+
var os = require('os')
910

1011
var C = ipp.CONSTANTS
1112

@@ -27,6 +28,7 @@ function Printer (opts) {
2728
this.jobs = []
2829
this.name = opts.name
2930
this.port = opts.port
31+
this.host = opts.host || os.hostname
3032
this.uri = opts.uri
3133
this.state = C.STOPPED
3234
this.server = opts.server

0 commit comments

Comments
 (0)