Demo for query storing

Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/remove-bom-stream/index.js b/node_modules/remove-bom-stream/index.js
new file mode 100644
index 0000000..93501f1
--- /dev/null
+++ b/node_modules/remove-bom-stream/index.js
@@ -0,0 +1,51 @@
+'use strict';
+
+var through = require('through2');
+var removeBom = require('remove-bom-buffer');
+var SafeBuffer = require('safe-buffer').Buffer;
+
+function removeBomStream() {
+  var completed = false;
+  var buffer = SafeBuffer.alloc(0);
+
+  return through(onChunk, onFlush);
+
+  function removeAndCleanup(data) {
+    completed = true;
+
+    buffer = null;
+
+    return removeBom(data);
+  }
+
+  function onChunk(data, enc, cb) {
+    if (completed) {
+      return cb(null, data);
+    }
+
+    if (data.length >= 7) {
+      return cb(null, removeAndCleanup(data));
+    }
+
+    var bufferLength = buffer.length;
+    var chunkLength = data.length;
+    var totalLength = bufferLength + chunkLength;
+
+    buffer = SafeBuffer.concat([buffer, data], totalLength);
+
+    if (totalLength >= 7) {
+      return cb(null, removeAndCleanup(buffer));
+    }
+    cb();
+  }
+
+  function onFlush(cb) {
+    if (completed || !buffer) {
+      return cb();
+    }
+
+    cb(null, removeAndCleanup(buffer));
+  }
+}
+
+module.exports = removeBomStream;