UNPKG

1.59 kBJavaScriptView Raw
1/*
2 * @package jsDAV
3 * @subpackage DAV
4 * @copyright Copyright(c) 2011 Ajax.org B.V. <info AT ajax.org>
5 * @author Mike de Boer <mike AT ajax DOT org>
6 * @license http://github.com/mikedeboer/jsDAV/blob/master/LICENSE MIT License
7 */
8"use strict";
9
10var Http = require("http");
11var Assert = require("assert");
12var jsDAV = require("./../lib/jsdav");
13var Util = require("./../lib/shared/util");
14
15jsDAV.debugMode = true;
16
17function done(err) {
18 if (err)
19 console.log("got error", err);
20 process.exit();
21}
22
23var server = Http.createServer(function(req, resp) {
24 console.log("Incoming request in other handler...");
25});
26
27var config = {
28 host: "127.0.0.1",
29 port: 8080
30};
31
32server.listen(config.port, config.host, function() {
33 // request a resource outside of the mount dir
34 Http.get(Util.extend({ path: "/test/blah" }, config), function(res) {
35 Assert.equal(res.statusCode, 404);
36
37 Http.get(Util.extend({ path: "/test/../../../../etc/passwd" }, config), function(res) {
38 Assert.equal(res.statusCode, 403);
39
40 Http.get(Util.extend({ path: "/test/1.txt" }, config), function(res) {
41 Assert.equal(res.statusCode, 200);
42
43 Http.get(Util.extend({ path: "/test/walk/dir1/1.txt" }, config), function(res) {
44 Assert.equal(res.statusCode, 200);
45
46 done();
47 }).on("error", done);
48 }).on("error", done);
49 }).on("error", done);
50 }).on("error", done);
51});
52
53jsDAV.mount({
54 node: __dirname + "/assets",
55 mount: "test",
56 server: server
57});