]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/node-gyp/test/simple-proxy.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / node-gyp / test / simple-proxy.js
diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/node-gyp/test/simple-proxy.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/node-gyp/test/simple-proxy.js
new file mode 100644 (file)
index 0000000..e55330c
--- /dev/null
@@ -0,0 +1,24 @@
+var http = require('http')
+  , https = require('https')
+  , server = http.createServer(handler)
+  , port = +process.argv[2]
+  , prefix = process.argv[3]
+  , upstream = process.argv[4]
+  , calls = 0
+
+server.listen(port)
+
+function handler (req, res) {
+  if (req.url.indexOf(prefix) != 0)
+    throw new Error('request url [' + req.url + '] does not start with [' + prefix + ']')
+
+  var upstreamUrl = upstream + req.url.substring(prefix.length)
+  console.log(req.url + ' -> ' + upstreamUrl)
+  https.get(upstreamUrl, function (ures) {
+    ures.on('end', function () {
+      if (++calls == 2)
+        server.close()
+    })
+    ures.pipe(res)
+  })
+}