Add support for JSON POST
Add support for JSON POST
This commit is contained in:
		@@ -52,6 +52,7 @@ DocumentHandler.prototype.handlePost = function (request, response) {
 | 
				
			|||||||
  var _this = this;
 | 
					  var _this = this;
 | 
				
			||||||
  var buffer = '';
 | 
					  var buffer = '';
 | 
				
			||||||
  var cancelled = false;
 | 
					  var cancelled = false;
 | 
				
			||||||
 | 
					  var ct = request.headers['content-type'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // What to do when done
 | 
					  // What to do when done
 | 
				
			||||||
  var onSuccess = function () {
 | 
					  var onSuccess = function () {
 | 
				
			||||||
@@ -65,6 +66,19 @@ DocumentHandler.prototype.handlePost = function (request, response) {
 | 
				
			|||||||
      );
 | 
					      );
 | 
				
			||||||
      return;
 | 
					      return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    //added support for json data
 | 
				
			||||||
 | 
					    if (ct && ct.split(';')[0] === 'application/json') {
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            let json = JSON.parse(buffer);
 | 
				
			||||||
 | 
					            buffer = json.data;
 | 
				
			||||||
 | 
					        } catch(e) {
 | 
				
			||||||
 | 
					          winston.verbose('error adding document');
 | 
				
			||||||
 | 
					          response.writeHead(500, { 'content-type': 'application/json' });
 | 
				
			||||||
 | 
					          response.end(JSON.stringify({ message: 'invalid JSON received.' }));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // And then save if we should
 | 
					    // And then save if we should
 | 
				
			||||||
    _this.chooseKey(function (key) {
 | 
					    _this.chooseKey(function (key) {
 | 
				
			||||||
      _this.store.set(key, buffer, function (res) {
 | 
					      _this.store.set(key, buffer, function (res) {
 | 
				
			||||||
@@ -83,7 +97,6 @@ DocumentHandler.prototype.handlePost = function (request, response) {
 | 
				
			|||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // If we should, parse a form to grab the data
 | 
					  // If we should, parse a form to grab the data
 | 
				
			||||||
  var ct = request.headers['content-type'];
 | 
					 | 
				
			||||||
  if (ct && ct.split(';')[0] === 'multipart/form-data') {
 | 
					  if (ct && ct.split(';')[0] === 'multipart/form-data') {
 | 
				
			||||||
    var busboy = new Busboy({ headers: request.headers });
 | 
					    var busboy = new Busboy({ headers: request.headers });
 | 
				
			||||||
    busboy.on('field', function (fieldname, val) {
 | 
					    busboy.on('field', function (fieldname, val) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user