Ignore:
Timestamp:
11/24/13 18:43:47 (11 years ago)
Author:
hendrikvanantwerpen
Message:

Changes for validation

  • Split command line wrappers from processing logic.
  • Created a JSON Schema for the database
  • Allow off-line validation of database documents.
Location:
Dev/trunk/src/server/util
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Dev/trunk/src/server/util/couch.coffee

    r478 r479  
    33Q = require 'q'
    44
     5class CouchError extends Error
     6 
    57class CouchDB
    68    constructor: (url) ->
     
    2931            'accept': 'application/json'
    3032        body: JSON.stringify (stringifyFunctions (data || {}))
    31     request(url, options)
     33    req = request(url, options)
     34    req.response
    3235    .then (res) =>
    33         JSON.parse res
     36        req.then (res) =>
     37            JSON.parse res
     38        , (err) =>
     39            Q.reject (JSON.parse err)
    3440    , (err) =>
    35         Q.reject (JSON.parse err)
     41        Q.reject err
    3642
    3743stringifyFunctions = (value) ->
  • Dev/trunk/src/server/util/q-request.js

    r470 r479  
    66module.exports = function(url, options) {
    77
    8     var dfd = q.defer();
    9     dfd.response = q.defer();
     8    var dfd_body = q.defer();
     9    var dfd_response = q.defer();
     10    dfd_body.promise.response = dfd_response.promise;
    1011   
    1112    options = options ? _.clone(options) : {};
     
    1415    request(options,function(err,res,body){
    1516        if ( err ) {
    16             dfd.response.reject(err);
     17            dfd_response.reject(err);
    1718        } else {
     19            dfd_response.resolve(res);
    1820            if ( res.statusCode >= 200 && res.statusCode < 300 ) {
    19                 dfd.resolve(body);
     21                dfd_body.resolve(body);
    2022            } else {
    21                 dfd.reject(body);
     23                dfd_body.reject(body);
    2224            }
    2325        }
    24         dfd.response.resolve(res);
    2526    });
    2627
    27     return dfd.promise;
     28    return dfd_body.promise;
    2829   
    2930};
Note: See TracChangeset for help on using the changeset viewer.