How to use @pylonide/jsdav - 10 common examples

To help you get started, we’ve selected a few @pylonide/jsdav examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github pylonide / pylon / plugins-server / pylon.fs / fs / file.js View on Github external
putStream: function(handler, type, callback) {
    var path = this.path;
    // is it a chunked upload?
    var size = handler.httpRequest.headers["x-file-size"];
    if (size && size !== "undefined") {
      var parts = Util.splitPath(this.path);
      if (!handler.httpRequest.headers["x-file-name"])
        handler.httpRequest.headers["x-file-name"] = parts[1];
      handler.server.tree.getNodeForPath(parts[0], function(err, parent) {
        if (err)
          return callback(err);

        parent.writeFileChunk(handler, type, callback);
      });
    }
    else {
      this.vfs.mkfile(path, {}, function(err, meta) {
        if (err) {
          if (err.code == "EACCES")
            err = new Exc.Forbidden("Permission denied to write file:" + path);
          return callback(err);
        }
github pylonide / pylon / plugins-server / pylon.fs / fs / tree.js View on Github external
copy: function(source, destination, callback) {
    var self = this;
    source = this.getRealPath(source);
    destination = this.getRealPath(destination);
    if (!this.insideSandbox(destination)) {
      return callback(new Exc.Forbidden("You are not allowed to copy to " +
                      this.stripSandbox(destination)));
    }

    // first check if source exists
    this.vfs.stat(source, {}, function(err, stat) {
      if (err || stat.err)
        return callback(err);

      // if destination exists try to delete it
      self.vfs.rmdir(destination, { recursive: true }, function(err) {
        // ignore error because destination may not exists
        self.vfs.execFile("cp", {args: ["-R", source, destination]}, callback);
      });
    });
  },
github pylonide / pylon / plugins-server / pylon.fs / fs / node.js View on Github external
this.vfs.stat(path, {}, function(err, stat) {
      console.log("stat", err, stat);
      if (err || !stat) {
        return callback(new Exc.FileNotFound("File at location "
                        + self.path + " not found"));
      }
      self.$stat = stat;
      callback(null, stat);
    });
  },
github pylonide / pylon / plugins-server / pylon.fs / dav / filewatch.js View on Github external
var Filewatch = module.exports = function(options) {
    var self = this;
    
    var plugin = jsDAV_ServerPlugin.extend({
      initialize: function(handler) {

        jsDAV_ServerPlugin.new(this, handler);

        handler.addEventListener("afterWriteContent", function(e, uri) {
          self.emit("afterWrite", {
            file: "/" + uri
          });
          e.next();
        });

        handler.addEventListener("afterDelete", function(e, uri) {
          self.emit("afterDelete", {
            file: "/" + uri
          });
          e.next();
github pylonide / pylon / plugins-server / pylon.fs / dav / filewatch.js View on Github external
initialize: function(handler) {

        jsDAV_ServerPlugin.new(this, handler);

        handler.addEventListener("afterWriteContent", function(e, uri) {
          self.emit("afterWrite", {
            file: "/" + uri
          });
          e.next();
        });

        handler.addEventListener("afterDelete", function(e, uri) {
          self.emit("afterDelete", {
            file: "/" + uri
          });
          e.next();
        });

        handler.addEventListener("afterMove", function(e, uri) {
github pylonide / pylon / plugins-server / pylon.fs / fs / directory.js View on Github external
this._stat(path, function(err, stat) {
      if (err)
        return callback(new Exc.FileNotFound("File at location " + path + " not found"));

      callback(null, stat.mime == "inode/directory"
                ? new jsDAV_FS_Directory(self.vfs, path, stat)
                : new jsDAV_FS_File(self.vfs, path, stat)
              );
    });
  },
github pylonide / pylon / plugins-server / pylon.fs / fs / tree.js View on Github external
this.vfs.stat(path, {}, function(err, stat) {
      if (err)
        return callback(new Exc.FileNotFound("File at location " + path + " not found"));

      callback(null, stat.mime == "inode/directory"
                ? jsDAV_FS_Directory.new(self.vfs, path, stat)
                : jsDAV_FS_File.new(self.vfs, path, stat)
              );
    });
  },
github pylonide / pylon / plugins-server / pylon.fs / fs / node.js View on Github external
getName: function() {
    return Util.splitPath(this.path)[1];
  },
github pylonide / pylon / plugins-server / pylon.fs / fs / node.js View on Github external
setName: function(name, callback) {
    var parentPath = Util.splitPath(this.path)[0];
    var newName    = Util.splitPath(name)[1];

    var newPath = parentPath + "/" + newName;
    var self = this;
    this.vfs.rename(newPath, {from: this.path}, function(err) {
      if (err)
        return callback(err);
      self.path = newPath;
      callback();
    });
  },
github pylonide / pylon / plugins-server / pylon.fs / dav / permission.js View on Github external
var jsDAV_ServerPlugin = require("@pylonide/jsdav/lib/DAV/plugin");
var util = require("util");

var Permission = module.exports = jsDAV_ServerPlugin.extend({
  /**
   * Plugin name
   *
   * @var String
   */
  name: "permission",

  initialize: function(handler) {
    jsDAV_ServerPlugin.new(this, handler);

    this.handler = handler;
    handler.addEventListener("beforeMethod", this.checkPermission.bind(this));
  },

  READ_METHODS: {
    "OPTIONS":1,

@pylonide/jsdav

jsDAV allows you to easily add WebDAV support to a NodeJS application. jsDAV is meant to cover the entire standard, and attempts to allow integration using an easy to understand API.

MIT
Latest version published 11 months ago

Package Health Score

66 / 100
Full package analysis

Similar packages