Commit 44f7ab3f authored by John Crepezzi's avatar John Crepezzi
Browse files

Added the ability to retrieve raw documents

Closes #10
parent 8add4917
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -29,6 +29,22 @@ DocumentHandler.prototype.handleGet = function(key, response, skipExpire) {
  }, skipExpire);
};

// Handle retrieving the raw version of a document
DocumentHandler.prototype.handleRawGet = function(key, response, skipExpire) {
  this.store.get(key, function(ret) {
    if (ret) {
      winston.verbose('retrieved raw document', { key: key });
      response.writeHead(200, { 'content-type': 'text/plain' });
      response.end(ret);
    }
    else {
      winston.warn('raw document not found', { key: key });
      response.writeHead(404, { 'content-type': 'application/json' });
      response.end(JSON.stringify({ message: 'document not found' }));
    }
  }, skipExpire);
};

// Handle adding a new Document
DocumentHandler.prototype.handlePost = function(request, response) {
  var _this = this;
+6 −0
Original line number Diff line number Diff line
@@ -83,6 +83,12 @@ var documentHandler = new DocumentHandler({
connect.createServer(
  // First look for api calls
  connect.router(function(app) {
    // get raw documents - support getting with extension
    app.get('/raw/:id', function(request, response, next) {
      var skipExpire = !!config.documents[request.params.id];
      var key = request.params.id.split('.')[0];
      return documentHandler.handleRawGet(key, response, skipExpire);
    });
    // add documents 
    app.post('/documents', function(request, response, next) {
      return documentHandler.handlePost(request, response);