UNPKG

ipp-server

Version:
46 lines (37 loc) 1.06 kB
#!/usr/bin/env node "use strict"; var config = require("rc")("ipp-server", { name : "ipp-server", dir : process.cwd(), port : 3000, authorize : function (req, res, body, next) { console.log("authorize", req.url); if (!req.headers.authorization) { res.writeHead(401, { "WWW-Authenticate" : "Basic realm=\"ipp-server\"" }); return res.end(); } console.log("auth", req.headers.authorization); return next(); } }); var nonPrivate = require("non-private-ip"); var url = require("url"); var fs = require("fs"); var ip = nonPrivate() || nonPrivate.private(); var Printer = require("./"); var p = new Printer(config); p.on("job", function (job) { var filename = "printjob-" + job.id + "-" + Date.now() + ".ps"; job.pipe(fs.createWriteStream(filename)).on("finish", function () { console.log("printed:", filename); }); }); p.server.on("listening", function () { console.log("ipp-server listening on:", url.format({ protocol : "http", hostname : ip, port : config.port })); });