404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.149.253.148: ~ $
/**
 * Module dependencies.
 */

var fs = require('fs');
var ftpd = require('ftpd');
var path = require('path');
var getUri = require('../');
var assert = require('assert');
var streamToArray = require('stream-to-array');

describe('get-uri', function () {

  describe('"ftp:" protocol', function () {

    var port;
    var cache;
    var server;

    before(function (done) {
      var options = {
        logLevel: -1,
        getInitialCwd: function (socket, fn) {
          fn(null, '/');
        },
        getRoot: function (socket) {
          return __dirname;
        }
      };

      var host = '127.0.0.1';
      server = new ftpd.FtpServer(host, options);

      server.on('client:connected', function(conn){
        var username;
        conn.on('command:user', function(user, success, failure) {
          username = user;
          success();
        });
        conn.on('command:pass', function(pass, success, failure){
          success(username);
        });
      });

      server.listen(0, function () {
        port = server.server.address().port;
        done();
      });
    });

    after(function (done) {
      server.server.once('close', function () {
        done();
      });
      server.server.close();
    });

    it('should work for ftp endpoints', function (done) {
      var uri = 'ftp://127.0.0.1:' + port + '/' + path.basename(__filename);
      fs.readFile(__filename, 'utf8', function (err, real) {
        if (err) return done(err);
        getUri(uri, function (err, rs) {
          if (err) return done(err);
          cache = rs;
          streamToArray(rs, function (err, array) {
            if (err) return done(err);
            var str = Buffer.concat(array).toString('utf8');
            assert.equal(str, real);
            done();
          });
        });
      });
    });

    it('should return ENOTFOUND for bad filenames', function (done) {
      var uri = 'ftp://127.0.0.1:' + port + '/does-not-exist';
      getUri(uri, function (err, rs) {
        assert(err);
        assert.equal('ENOTFOUND', err.code);
        done();
      });
    });

    it('should return ENOTMODIFIED for the same URI with `cache`', function (done) {
      var uri = 'ftp://127.0.0.1:' + port + '/' + path.basename(__filename);
      getUri(uri, { cache: cache }, function (err, rs) {
        assert(err);
        assert.equal('ENOTMODIFIED', err.code);
        done();
      });
    });

  });

});

Filemanager

Name Type Size Permission Actions
data.js File 1.32 KB 0644
file.js File 1.7 KB 0644
ftp.js File 2.38 KB 0644
http.js File 1.86 KB 0644
https.js File 2.1 KB 0644
redirect.js File 2.86 KB 0644
server.crt File 757 B 0644
server.key File 891 B 0644
test.js File 533 B 0644