text: var ResponsePayload = function(code, payload) {
      this.code = code;
      this.payload = payload;
  };
  
  exports.respondWithCode = function(code, payload) {
      return new ResponsePayload(code, payload);
  };
  
  var writeJson = (exports.writeJson = function(response, arg1, arg2) {
      var code;
      var payload;
  
      if (arg1 && arg1 instanceof ResponsePayload) {
          writeJson(response, arg1.payload, arg1.code);
          return;
      }
  
      if (arg2 && Number.isInteger(arg2)) {
          code = arg2;
      } else {
          if (arg1 && Number.isInteger(arg1)) {
              code = arg1;
          }
      }
      if (code && arg1) {
          payload = arg1;
      } else if (arg1) {
          payload = arg1;
      }
  
      if (!code) {
          // if no response code given, we default to 200
          code = 200;
      }
      if (typeof payload === 'object') {
          payload = JSON.stringify(payload, null, 2);
      }
      response.writeHead(code, { 'Content-Type': 'application/json' });
      response.end(payload);
  });
  