Beispiel #1
0
  function (req, res) {
      var partialPath = 'configs' + path.sep + req.params.name;
      try{
        jsYML.safeLoad(req.body);
        try{
          resMan.validPartialPath(partialPath);
        } catch(err){
          resMan.createDirectory(partialPath);
        }

        var latestVersion = resMan.getLatestVersion(partialPath);

        resMan.write(partialPath + path.sep + 'latest.yml', req.body);
        resMan.write(partialPath + path.sep + 'v' + (latestVersion + 1) + '.yml', req.body);
        res.status(200).send('v' + (latestVersion + 1));
      } catch(err){
        res.status(400).send(err.message);
      }
  }
Beispiel #2
0
      Fiber(function(){

        if(req.query.version && !versionRegex.test(req.query.version)){
          res.status(400).send("Improper version format. Must pass " + versionRegex.toString() );
          return;
        }

        var partialPath = 'configs' + path.sep + req.params.name + path.sep + (req.query.version ? req.query.version : 'latest') + '.yml';
        try{
          var identifier = resMan.validPartialPath(partialPath);
          var cur = Fiber.current;
          var file = null;
          var err = null;
          fs.readFile(identifier, 'utf8', function(error, data){
              err = error;
              file = data;
              cur.run();
          });

          Fiber.yield();

          if(err){
            throw err;
          }

          if(req.query.$public_ipv4){
            file = file.replace(/\$public_ipv4/g, req.query.$public_ipv4)
          }
          if(req.query.$private_addr){
            file = file.replace(/\$private_ipv4/g, req.query.$private_ipv4)
          }
          res.status(200).send(file);
        } catch(err){
          res.status(400).send(err.message);
        }
      }).run();