"use strict" var OP = require("object-pattern") var example = require("washington") var WildScanner = { Scan: function () {}, AdaptToScan: function () {} } WildScanner.Scan.prototype.endpoint = OP.parse({ method: "GET", resource: ["scan"] }) example("WildScanner.Scan #endpoint matches GET/scan", function () { return new WildScanner.Scan().endpoint.match({ method: "GET", resource: ["scan"] }) }) WildScanner.Scan.prototype.callback = function (event, venue) { venue.broadcast({ method: "GET", resource: ["interface"] }) }
// method: "GET", // resource: ["interface"] // }) // ``` "use strict" var example = require("washington") var os = require("os") var OP = require("object-pattern") var InterfaceScanner = function () {} InterfaceScanner.prototype.endpoint = OP.parse({ method: "GET", resource: ["interface"] }) InterfaceScanner.prototype.callback = function (event, venue) { var interfaces = os.networkInterfaces() Object.keys(interfaces).forEach(function (name) { interfaces[name].forEach(function (address) { var addressWithoutName = {} for (var key in address) if (key !== "address") addressWithoutName[key] = address[key] venue.broadcast({ method: "PUT", resource: ["interface", name, address.address],
var venue = { broadcast: function (event) { if (OP.parse({ method: "DELETE", resource: ["scan", "localhost", 7070] })) done() }}
broadcast: function (event) { if (OP.parse({ method: "PUT", resource: ["scan", "localhost", 7070] })) done() }
// method: "GET", // resource: ["scan", "localhost", 8000] // }) // ``` "use strict" var OP = require("object-pattern") var net = require("net") var example = require("washington") var PortScanner = function () {} PortScanner.prototype.endpoint = OP.parse({ method: "GET", resource: ["scan", "*", "*"] }) PortScanner.prototype.callback = function (event, venue) { var port = parseInt(event.resource[2], 10) var host = event.resource[1] this.socket = net.connect(port, host, function () { venue.broadcast({ method: "PUT", resource: ["scan", host, port] }) }) this.socket.on("error", function () { venue.broadcast({