- Fixed the name of the namespace of the elements added when not found in a PROPFIND request/response 1b2b9cc
- Added some comments for some methods/functions 470c090
- Added an example to display how to add logs 5eafa1a
- Fixed the property name (changed from 'inline namespace' to 'attribute namespace') of not found properties in the response of PROPFIND which was causing errors in the parsing of the XML response f215bf7
- Now provide the stream in the data of the 'openReadStream' and 'openWriteStream' events c72def0
- Added tests for security about regex be2190a
- Exported the 'info.expected(...)' method in the v2 tests 983da9c
- Fixed some security flaws about Regex d9c7194
- Removed a missed 'console.log(...)' c549111
- Increased the timeout of the tests of the v2 from 6000 ms to 15000 ms b9684be
- Added a npm command for tslint 25b3dcc
- Refactored some code 2dba204
- Updated the code checking 75fcf43
- Updated the code checking 70abf32
- Trying to decrease cognitive complexity of 'standardCopy' of the standard methods d8a495f
- Refactored similar methods of 'VirtualFileSystem' 612c91b
- Excluded the 'examples' folder of lint 1d68ec3
- Moved all v1 files into v1 folders 4a1a417
- Added v1 to the files to ignore for BitHound fe39d58
- Cleaned the code of Propfind 371228e
- Upgraded the '.codeclimate.yml' file 07a84ce
- Excluded v1 from CodeClimate 60a7e2d
- Excluded v1 from tslint 0f06ed4
- Updated the dependency version of @types/request and @types/node 3f26a18
- Fixed the PROPPATCH method => returned LOCKED instead of NOT AUTHORIZED (authentication) 90acbe1
- Fixed the OPTIONS result ('Allow' header) on the root element 2cec981
- Fixed a lot of lint errors 7de911b
- Fixed some tslint errors 8f54de5
- Fixed compilation errors with request headers which can contain 'string[]' 1fcbbe2
- Updated the README to display the ExpressJS extension 0c9f4af
- Added extension for ExpressJS 9114666
- Added support for a new root path in 'executeRequest' 876629a
- Fixed the example of using the library in Express 4bf7bd3
- Fixed the wrong example of use in ExpressJS 7777cb4
- Added comments / inline doc for the 'WebDAVServer' class's methods 0e36914
- Added tests for the encoding of the URL / displayName in PROPFIND 45e9c56
- Transformed in README.md 'Javascript' into 'JavaScript' to match 'TypeScript' 5d1da18
- Added Express compatibility explaination in the README b61c7d5
- Cleaned the code (mainly the imports) cad8d1d
- Exported the function/method 'executeRequest' to execute requests without the server started fc22c3b
- Fixed the parsing of the url when it is empty 205e28a
- Removed the encoding of the 'displayname' tag b151337
- Fixed the URL encoding on all 'href', 'location' and 'displayname' tags in the XML responses 5d48f22
- Fixed the special character problem with a more generic solution 6d54bd0
- Fixed spaces not being encoded 55261d5
- Removed old/commented code from the Propfind.ts file 40e3792
- Compiled the change made by @leak4mk0 8e43d93
- Merge pull request #21 from leak4mk0/patch-1 5943f26
- Fixed an issue where an error 'e' is ignored after readdir. 716cba6
- Added a few more tests for the MOVE method on files da1c79a
- Modified the behaviour of the PROPFIND method when an error occurs in the child resources a91227b
- Fixed the '_move' method in the 'PhysicalFileSystem' class 656d0f6
- Added tests for the new features of the 'addSubTree' method 0f2c1d9
- Updated the dependencies of the project 48e7287
- Added the support of a string and a buffer as value in the 'addSubTree' method 3380374
- Fixed the wrong link to the example page in the 'README' file 91c28cd
- Modified the 'VirtualFileSystemResource' class to test the type of the constructor argument based on it's properties instead of it's constructor 2f012cd
- Added the storage manager to allow to limit the storage 74094e3
- Added a method in the server to give the listing of resources 18f0e3a
- Added a 'autoSave' method to the server to start the auto-save without starting the HTTP server 481413d
- Added 'before-*' file system events 8763396
- Added the ability to fail a streaming request in the tests (v2) 6eb0cd0
- Added tests for the quotas d191d72
- Added tests for the 'server.listResources(...)' method 0caed21
- Fixed custom properties' attributes removing the property namespace (xmlns) 70c5341
- Fixed the missing 'lock' argument in the callback of the 'refresh' method of the lock manager returned in the 'FileSystem' class 3dae2aa
- Removed forgotten 'console.log' 3277908
- Exported the 'IRange' interface of the 'Range' header parsing 961f1e7
- Fixed the delete method in the 'PhysicalFileSystem' class da9abf0
- Added support for the sequence/multipart, start and end types of the 'Range' header in the 'GET' method dd23bfc
- Added 'Range' support in the 'HEAD' method to better fit the 'GET' response without body 6ebfd98
- Added more tests for the 'Range' header of the 'Get' method :
- Added more server ports to the tests of the v2 :
- Exported the 'Range' header parser to be usable in the 'GET' and 'HEAD' methods a2aabce
- Fixed the GET Range 3b2d11f
- Added headers to allow cross domain access to the server 654886c
- Fixed a bug on the mkcol method 4dcabe7
- Removed the decoding in the 'Path' class ad5c8a6
- Fixed the URL decoding in the 'Path' class to be able to work with fully encoded and partially encoded URL 5a743a9
- Removed the URL encoding in the 'href' tags and in the 'displayname' tags 014820b
- Fixed wrong content length when the content contains special characters + Specified the encoding when writing to the response body (UTF-8) + Minimified the 'Content-Type' header in the 'writeBody' method of the 'RequestContext' class c12096a
- Fixed the 'HTTPDigestAuthentication' class of the v1 and v2 to work with the level 0 of the digest authentication 6247297
- Fixed the 'LOCK' method which needed the 'owner' in the lock properties (which was made optional in the past) 21a4a94
- Use 'xml-js-builder' npm package instead of built-in XML manager 15e4f2d
- Fixed a bug saying that the callback is not a function when calling the 'readDir' method of a file system 57056d0
- Fixed the standard copy/move methods to copy/move the source content of the resource ec0144e
- Modified the 'VirtualSerializer' class serialize 'resources' into a property of the serialized object instead of being the serialized object 2833836
- Added the 'VirtualSerializerVersions' and 'PhysicalSerializerVersions' object to provide a list of versions of the serializers 2833836
- Modified the class name from '_VirtualFileSystemResource' into 'VirtualFileSystemResource' 8e8b425
- Modified the class name from '_PhysicalFileSystemResource' into 'PhysicalFileSystemResource' a09fe35
- Added a 2nd example of creating a custom method for the server d191897
- Added a README to the examples folder 5efdead
- Fixed the HEAD method crashing when the size of a resource is undefined de276ff
- Fixed the constructor by copy of the 'LocalPropertyManager' class and the 'LocalLockManager' class a5fb4c0
- Fixed the persistence (untriggered close event on saving) 7e7f86d
- Removed the initial GZip/GUnZip of the persistence => now it is a default behaviour ac1fd34
- Modified the 'IAutoSave' interface to fit cases ac1fd34
- Added the use of the method in the 'Custom Method' example c9f34e3
- Added a note to the README of the 'Custom Method' example e58fdaf
- Added the 'Custom Method' example eadb2b8
- Fixed the 'create' method of the 'FileSystem' class which was not creating more than 1 intermediate 4b1cb25
- Modified the LOCK method to make the owner tag optional 7a34231
- Fixed the 'SimplePathPrivilegeManager' class to add sub-rights when calling the 'setRights' method aaeed0c
- Fixed a bad privilege check in the 'FileSystem' class which asked write rights for reading available locks of a resource feb1fe0
- Allow to override the privilege checking in the context to allow special operations (list all locks, for instance) b96fde6
- Added the 'isLocked' method in the 'Resource' class and in the 'ContextualFileSystem' class 7e3a142
- Upgraded the tests for the persistence to fail if the an error occurs while saving 7f7a3cd
- Removed a bad privilege check in the 'listDeepLocks' method of the 'FileSystem' class 2023611
- Modified the 'FileSystem' class and the serialization method to skip/allow non-serializable file system (skip the serialization of a fs if 'fs.serializer()' returns null/undefined) 43acf3f
- Added comments to describe methods of the 'FileSystem' class and the 'FileSystemSerializer' interface for better code completion details e95de1a
- Fixed the missing description of the 2nd example in the README 218d907
- Added the '@webdav-server' npm packages information in the README d80b6ab
- Fixed the 'isLocked' method of the 'FileSystem' class to skip privilege checking f201b61
- Fixed the 'SimplePathPrivilegeManager' class 25a9529
- The default behaviour of the 'size' method in the 'FileSystem' class is now to return 'undefined' as value (= cannot tell the size) 4aed15f
- Made the 'Content-Length' header optional in the response when no size can be obtained 0f1cdcd
- Fixed the MOVE method 592d2bc
- Fixed the 'autoLoad' method to not crash when the 'autoSave' option is missing a03cc96
- Fixed wrong place of the deprecated comment b6ed379
- Version 2!
- Added the body written through the 'writeBody(...)' method as property of the 'RequestContext' class 266e900
- Added the attributes to the stored properties affected by PROPPATCH f8f6e00
- Added the reverse operation in the PROPPATCH method to fit the RFC (1 error => reverse changes) f14cde3
- Added an error in the 'Errors' bundle to say that the user has not enough privilege f488ecc
- Modified the 'Workflow' class to stop some executions when possible if the workflow ended e0e4232
- Implemented the 'SimplePathPrivilegeManager' class to manage privileges based on the path 6656596
- Implemented the PrivilegeManager [v2] 4c526b8
- Implemented the v2 6e58ac6
- The XML helper will now throw a more meaningful error message when the 'find(...)' method doesn't find the XMLElement, helping for debugging b49c35a
- Added the depth to the 'Lock' class fbeeb71
- Changed to check by reference by default when seeking for a file system e39fd71
- Added the user as argument in the privilege managers 8908c87
- Splitted the 'RequestContext' class into 'RequestContext', 'ExternalRequestContext' and 'HTTPRequestContext' faf8581
- Added a constructor to help unserialization in the 'LocalPropertyManager' class and the 'LocalLockManager' class0e78d10 Fixed the 'PhysicalFileSystem' class f8b3b46
- The user used by the 'createExternal(...)' static method of the 'RequestContext' class is now a super-admin user unreferenced by the user manager 50e1194
- Made the callback optional in the 'addSubTree' of the 'FileSystem' class d81a883
- Removed the event system from the server 882ca71
- Made the 'treeFilePath' server option of 'autoLoad' optional (default value is the 'treeFilePath' of 'autoSave') 386f04a
- Changed the type of the 'privilegeManager' server option from the old 'IPrivilegeManager' to the new 'PrivilegeManager' 386f04a
- Added the 'CreateExternalContext' method to the server class to ease the creation of external contexts 358e2ee
- Changed the type of the 'path' argument of the methods in 'FileSystem', 'ContextualFileSystem' and 'Resource' from 'Path' to 'Path | string' to be more easy to use 5c987c6
- Added the 'PrivilegeManagerInfo' interface 4d29192
- Added the 'destinationPath' to the 'RenameInfo' interface 4d29192
- Added the 'setCodeFromError' method and the 'defaultStatusCode' method to the 'RequestContext' class 8cf9a53
- Added an error class for unserialization error (when the serializer is not found) f488ecc
- Added some standard errors to the 'Errors' bundle 37afaaa
- Upgraded the README 29086af
- Fixed the README example 77c44cd
- Fixed the example 'Web Resource' 75ff834
- Deprecated the v1 'WebDAVServer' class 2c609e7
- Added the 'webResource' example for the v2 d406d81
- Splitted the 'examples' folder into 'v1' and 'v2' :
- Fixed the tests to use the new 'RequestContext' implementation 6d41b1b
- Added a 'nbReservedSocketPerTest' in the test framework of the v2 72696ad
- Added tests for the PROPPATCH method [v2] 2be8b93
- Added test for the MOVE and COPY methods [v2] 0c5e114
- Added tests for the 'addSubTree' method of the server/file systems [v2] 5d5d3a2
- Added tests for the HEAD method 651f797
- Added tests for the MKCOL method d895732
- Added tests for the DELETE method 59e4201
- Upgraded the test framework of the v2 a9edc7e
- Added test for the persistence [v2] deb443b
- Added test for the LOCK and UNLOCK methods [v2] 37f17a0
- Fixed the tests for node.js:5 and node.js:4 b43ba41
- Modified the tests to use 'server.rootFileSystem()' method instead of the removed 'server.rootFileSystem' property 7c7874c
- Updated the test commands to compile the TypeScript, run the tests for the v2, then run the tests for the v2 3f6c274
- Added tests for the lock/unlock methods (v2) 70717b2
- Added tests for the OPTIONS method (v2) 6e5981a
- Added tests for the readDir/propfind on a directory (v2) 9ce23d1
- Added tests for the read/write get/put methods (v2) b801535
- Added tests for the server management (v2) 735e2ed
- Added TypeScript tests for better test developments f5b48a7
- Upgraded the test framework to be more clean and ease the making of new tests 74c381c
- Splitted the 'test' folder into 'v1' and 'v2' ac88f11
- Cleaned the code 1a46154
- Updated the '@types/node' dev dependency 6491270
- Exported the 'PrivilegeManager' class and the 'SimplePathPrivilegeManager' class f258c99
- Added the 'Forbidden' standard error a209249
- Implemented the lock check 0b41e28
- Implemented the privilege checks 0b41e28
- Removed the FTP packages in the npm dependencies 3733df7
- Removed the old files from when the v2 was contained in one file 04762e9
- Removed the empty 'requirePrivilege' methods in the 'RequestContext' class 8cf9a53
- Moved the 'FTPFileSystem' class to the '@webdav-server/ftp' package 5c04125
- Exported the v1 within the v1 scope too 1cc4a03
- Exported the v2 90a6556
- Fixed Travis CI missing 'tsc' d4850b7
- Modified the 'tsconfig.json' file to make TypeScript compile with comments by default 6e7acd8
- Added the TS types for the 'request' package 3f6c274
- Added the 'ftp' package in the dependencies 3f6c274
- Updated the .gitignore to ignore the transcripted code folder in the tests e83b463
- Fixed the 'VirtualFileSystem' unserialization d43f5c9
- Fixed the urls in PROPFIND, PROPPATCH and LOCK responses not being encoded 7bc8928
- Added encoding for the url in the PROPPATCH and PROPFIND responses [v1] 30d5bcc
- Fixed the 'SimplePathPrivilegeManager' implementation 489cf28
- Fixed the 'HTTPDigestAuthentication' implementation 008af5c
- Changed the default namespace from 'DAV:' to nothing, allowing to keep out-of-namespace tags in the properties 635ce3f
- Fixed the 'VirtualFileSystem' 9d3b03e
- Fixed the MOVE method 2c7a84c
- Fixed the PROPFIND method 2c7a84c
- Fixed the response status when the parent was missing 056df31
- Fixed the 'starter' method of the OPTIONS method tests to be more robust if some more tests are added in the future 6fe546a
- Fixed the '_delete' method in the 'VirtualFileSystem' class which was not deleting the children of deleted folders e529f71
- Fixed an unserialization bug (returning undefined as the unserialized data) 467e91c
- Fixed the serialization [v2] 14b6e4c
- Implemented the physical gateway and its FSManager d0aa8c8
- Implemented the static methods 'standardMoveWithoutCopy', 'standardMoveByCopy', 'standardFindChildByName', 'standardFindChildren' and 'standardAddToParent' in the 'StandardResource' class 2bb7a4b
- Compiled the TypeScript code with comments :
- Use the 'standardMoveByCopy' in 'standardMoveTo' static method as a default behavior 2bb7a4b
- Implemented a default method for 'moveTo' in the 'StandardResource' class 2bb7a4b
- Removed the 'moveTo' method in the 'VirtualResource' class to use the default implementation in 'StandardResource' 1a38d52
- Added an example of a physical gateway 9123bf6
- Fixed a wrong test when a move is made by copy in the 'ResourceTester' class 1b5e3a1
- Fixed the 'movePhysical' test 48723ee
- Fixed the package.json of the FTP gateway example d17ac14
- Fixed the FSManager uid in the FTP Gateway example 00aed8c
- Fixed the 'moveTo' method of the 'PhysicalResource' 500eca5
- A 'FSManager.serialize(...)' returning 'undefined' or 'null' will lead to skip the serialization of the resource f5e06ae
- Added the 'finalSize' to the 'write(...)' method of resources when available :
- Added a 'MustIgnore' error which can make the server to skip some checks (mostly lock tests) :
- Added the ability to a resource to provide its own sub-tree based on the requested path (Gateway) :
- Cleaned the code d55ab4d
- The user is now optional for lock creation leading to skip the user checking when testing the user privileges :
- Added the 'XMLElement' methods 'findText() : string' and 'findTexts() : string[]' 164022b
- Now export the 'XML', 'IfParser' and 'Workflow' to allow easier resource/FSManager creation :
- Fixed a broken test with the 'DAV:lockdiscovery' 9d5b3c9
- Improved the XML 'name to namespace' feature 164022b
- Fixed the 'moveTo(...)' which was calling the the 'rename(...)' method even when the oldName and newName were equal 05fd08c
- Fixed ResourceTester error 083a5c0
- Modified the 'FSPath' to remove '//' sequences ('//' => '/') 0315270
- Fixed the example of the Custom Web Resource, which was not loading the 'webdav-server' module but the 'lib/index.js' of the root folder 00661a0
- Implemented an 'autoLoad' method in the server to help loading files saved by the 'autoSave' 5acdf13
- Added the static method 'loadFromPath(...)' in the 'PhysicalFolder' class to allow easy resource tree loading based on a url b8c5ca0
- Used the 'autoLoad' method to load the content in the 'customWebResource' example f0365f2
- Added the 'loadPhysicalFolder' example 7ed6c7a
- Added the 'examples' folder in the list of links in the README 595bcf1
- Fixed the 'Custom Web Resource' example d9b3761
- Upgraded the 'webdav-server' version needed in the example 'customWebResource' to 1.8.2 9af7d93
- Moved the 'autoSave' signature (in the server options) to an external interface fcb22cf
- Fixed the wrong signature of the 'autoSave.streamProvider' server option d80491a
- Added an example folder to provide real/full examples 14cdf33
- Added the example : Custom Web Resource 14cdf33
- Replaced test from the 'Project information' section in the README by a list of links be2c77a
- Implemented the lock tests for the 'ResourceTester' cb90c9f
- Added a missing option for the 'ResourceTester' b007f28
- Fixed code format 40dba6b
- Removed useless exports from 'BeforeAfter.ts' file be66fb5
- Fixed a bug when a resource added to the server had no fsManager (= volatile resource) 3c4cd72
- Fixed a timeout error for the locks 6097857
- Added the ability to parse JSON in the request body cf0debb
- Added the 'Allow' header to all the methods and filter the allowed methods according to the existence of the requested resource and its 'ResourceType' 7db537e
- Added the server options 'serverName' and 'version' to display in the 'Server' HTTP header fd4158b
- Added the 'Server' header to the responses e015847
- Added a 'displayName' optional method in the 'IResource' interface c9812d6
- Moved the 'Allow' response header from the 'OPTIONS' method to all the methods e015847
- Use the 'displayName' method when available as text for the 'DAV:displayname' XML element in the PROPFIND response body c9812d6
- Removed the 'setName' parameter of the 'StandardResource.standardMoveTo(...)' static method to use instead the 'IResource.rename(...)' method c3f8b6a
- Removed the unused 'isOnTheSameFSWith' and 'isSame' methods of the 'IResource' interface 8660bbf
- Added tests for the JSON in the request body 84bd1c9
- Added tests for the 'Overwrite' header for the 'MOVE' method 4be3904
- Added a new helper : 'StandardResource.standardMimeType(...)' 695a93a
- Fixed the '404' status always in the responses of the 'PROPRFIND' method even when empty f1243e7
- Fixed the overwrite behavior in the 'StandardResource.standardMoveTo' static method 8b1caad
- Changed the code type from 'typescript' to 'javascript' of the code sample in the README 34a19f1
- Added tests for the streaming PUT ae0cf70
- Changed the behavior of the server regarding the 'Content-Length' header in order to use the chunked version of a method everytime 0b675b0
- Added support to HTTPS 4781457
- The 'mimeType' method of the implemented resources now return the content type instead of the mime-type only d1247af
- Simplified the README.md 0bc3801
- Added a 'Workflow' class to replace similar codes in the project eb22a3d
- Added the 'Content-Type' and the 'Content-Length' headers to the GET and HEAD methods 787ed4e
- Removed support for the unstable version 4.0 version of node 418332a
- Added a way to add new XML elements at the head of the perent's children in the XML file utility 310b860
- Now write 'DAV:href' at the head of the parent's children, fixing issues with 'cadaver', 'davfs2', etc... 9d9d512
- Improved the tests for the 'source' and 'translate' headers b99024b
- Fixed a bug with the 'translate' header ccdd7ed
- Added resource events in the system 83bb59e
- Added an 'autoSave' mode to the server to embed a robust way to save the state of the server bd2f12f
- Implemented a 'SimplePathPrivilegeManager' to manage easily user privileges (pretty bare) b5b81f3
- Changed the response code/message (to 401 Unauthorized) to ask the client to authenticate the user 14e7c76
- Added the 'all' privilege in the 'BasicPrivilege' type 318e526
- Added support for the 'translate' header (alias of the 'source' header) 2d9627e
- Added support for ranged GET requests 5bee991
- Use the 'HTTPDigestAuthentication' instance by default instead of a 'HTTPBasicAuthentication' instance in the server's options 0795df3
- Changed 'addUser' of the 'SimpleUserManager' class to return the created user 155ea74
- Added the 'Content-Length' header and the 'Accept-Ranges' header in the HEAD method 992620b
- Added the 'DAV:location' tag to the propfind response 3df40bb
- Use a 'HTTPBasicAuthentication' as a default authentication system for tests dde8001
- Added tests for the server events 759befc
- Added tests for the 'translate' header 30ea0d3
- Added a 'SimpleBasicPrivilege' type to represent the possibilities of the 'SimplePrivilegeManager' classes 218af11
- Added the 'MethodCallArgs' type to a function definition (for better code clarity) 2175459
- Added the export of the 'SimplePathPrivilegeManager' class b6548aa
- Added the 'autoSave' option eef40f0
- Removed duplicates in the code of the 'ResourceTester' class b254f51
- Changed the order of the imports to be more stable on future changes 0ad2594
- Removed useless imports/exports which could cause circular dependencies 4e14885
- Centralized the 'source' header check in the 'MethodCallArgs' class 163914f
- Changed the Unlock response status code/message when unauthorized (to 403 Forbidden) 65423c8
- Fixed bugs in the 'HTTPBasicAuthentication' and the 'HTTPDigestAuthentication' classes 4e8c78c
- Fixed PROPPATCH and PROPFIND xml parsing errors when the request body was not valid e7fed58
- Now PROPFIND can filter properties depending on the request body (according to the RFC) 7af0e36
- Added a 'strictMode' to let more flexibilities to the communications client/server
- Added the 'DAV' header with the values '1,2' => class 1 + 2 supported (RFC) 27abc4e
- Add a trailing '/' to the resource path of collections (folders) in the 'DAV:href' tag (response) 7af0e36
- Removed the 'DAV' in the OPTION method file to provide it to all responses 63aa8a3
- Added more compliance with the WebDAV RFC (body checking, errors returned, etc...) 46cbef7
- Added xmlns attribute for 'DAV:' presence in a tag name 3bc3f07
- Added the 'strictMode' server option in the README 24dd02b
- Removed useless test in the 'VirtualFSManager' class c4dc8db
- Fixed a potential '//' at the end of the path of a resource 27abc4e
- Fixed an XML bug leading to an infinite loop 3bc3f07
- Fixed the issue of not applying to the name of XML elements the default namespace aa793d5
- Added missing exports e8aa467
- Added a local cache for lock discovery in PROPFIND bc744b0
- Removed debug display in tests 40fa39a
- Fixed the way to get the lock-token from a LOCK response in the tests a745c95
- Fixed recurrent size error in the Propfind method 67d7485
- Fixed negative values in the lock-token generation 5ad148f
- Now skip the tag 'owner' in the PROPFIND response when the lock has no owner content e3d81c8
- Fixed a bug when serializing a VirtualStoredFile having a content length of 0 c81190d
- Fixed unremoved resource from parent when calling 'delete' on a VirtualStoredFile a81a906
- Added the content uid to the list of the arguments of the 'IVirtualStoredContentManagerMiddleware' methods 4f9cbf1
- Implemented the new chunked version of the PUT method 7f605b1
- Added the 'deallocate' method to the virtual stored resource management 7506c3c
- Added a middleware for the 'SimpleVirtualStoredContentManager' class a322b75
- Replaced the middleware 'stream.Writable' into a 'stream.Transform' for the VirtualStoredFile 36bc500
- Modified the HEAD method implementation to avoid the use of the 'read' method of the resources 25d120b
- Removed the un/serialization of the locks in the FSManagers 2786bea
- Now throw an Error when the 'SimpleVirtualStoredContentManager' instance is not initialized, helping for debugging c3eb727
- The member 'managerUID' can now be accessed from outside of the error class 'ManagerNotFound' 6378c48
- Splitted the 'WebDAVServer' class file into smaller files 1f1d13c
- Splitted the 'ResourceTester' class file into smaller files 8f8af70
- Added a dot (.) at the end of the text of each common error 1daac87
- Used more standard errors 155035c
- Added event inheritance in the 'VirtualStoredFile' class eaefedc
- Cleaned the 'lib' folder e2e054c
- Added the un/serialization of the property 'contentUid' for the 'VirtualStoredFile' class 62556f5
- Fixed CodeClimate issues (code formatting) 325f30f
- Implemented a virtual stored resource, able to delegate its content to a content manager f3fff2b
- Implemented a resource tester to make the resource development easier and more stable 36414fc
- Now return an error when requesting the size or mime-type of a virtual or physical folder 12bdd45
- Added a UID for the IUser interface 6c2b0be
- Use the UID of the user instead of the reference to compare the users 6c2b0be
- Removed the 'canLock' and 'canRemoveLock' methods from the resources 3902d35
- Implemented 'stream.Readable' and 'stream.Writable' for the 'write' and 'read' methods of resources instead of using a 'Int8Array' :
- Modified the sample in the README file to match the new 'write' method in the resources 9f1b0f0
- Added tests for the virtual stored resources using the resource tester cdd56d0
- Added ResourceTester tests for the virtual and physical resources aea18ee
- Adapted the tests to the 'stream.Readable' and the 'stream.Writable' addings 2d30e39
- Increased the timeout value for the tests 4f73875
- Modified the '*.content = ' into '.write(...) in the tests b81f383
- Added the ResourceTester class to the resource exports 92903ff
- Standardized the 'moveTo' method of resources c6868fa
- Modified the 'moveTo' method of the virtual and physical resources to be more reliable 44b38fe
- Changed from 'dev-watch' to 'tsc' to compile 9f1f60c
- Added 'process.nextTick(...)' for the serialization helper cbaa8f6
- Fixed content un/serialization for virtual files 0a41414
- Fixed XML error with the 'parse' function d96ea6d
- Added the ability to switch to the chunked version of a command (method) when possible 71c7073
- Added the server option 'canChunk' 6396a81
- Implemented the chunked version of the PUT method 5923925
- Added the server option 'canChunk' in the documentation 470b15e
- Added the tests for the chunked packets 06b9c56
- Fixed the error with the type Int8Array with the GET method 7e942c2
- Implemented the callback on the start method 880dd8a
- Implemented the server option 'hostname' 0ab2be2
- Implemented DAV:lockdiscovery in PROPFIND 9009ad1
- Made the arguments of the start method optional 880dd8a
- Added a callback to the start method to 'synchronize' with the server opening e3eb1e0
- Modified the sample to use the callback on the start method 4313cba
- Added the 'hostname' option in the documentation ef4a3c0
- Implemented the server start callback in the whole tests 609f855
- Added more tests for the start method 516a7fb
- Fixed the try-catch of the PROPFIND method in the tests 38630f5
- Added tests for copying the properties (COPY method) 911029f
- Added tests for moving the properties (MOVE method) 7236e50
- Added tests for DAV:lockdiscovery 2b9cde8
- Fixed callback error in the start method ca72e94
- Implemented the method 'addResourceTree' in the server class to make the resource tree creation easier bda6e6c
- Implemented the 'If' header check in all methods where it makes sense fab8388
- Added a refresh method to the Lock class e90274f
- Added 'process.nextTick(...)' when possible, except in resources to keep them simple 17187bd
- Modified the sample to use the new way to create the resource tree (with 'addResourceTree') 0beebbe
- Added tests for the 'addResourceTree' method 1bf0c47
- Added the 'If' header test for the LOCK test c4d3ace
- Added the tests for the Lock refresh c4d3ace
- Added tests for the 'source' header 8c79901
- Added a parser for the 'If' header e4e2208
- Specified that the module is compatible from node v4.0.0 to latest bf4fd93
- Test node v4.0 058106f
- Do not support node v0.* d4be29c
- Upgraded tests syntax for node version 0.* f5f6b5c
- Reverted the node v0.* changes => not supporting v0.* anymore 099d40b
- Test Travis on all versions of NodeJS 39d1211
- Check if 'fs.constants.O_CREAT' exists for node v5.* and lower e23b5d7
- Added parents lock check 76f3340
- Added 'source' header to read/write source of the files 842b37a
- Added the 'canSource' privilege 842b37a
- Implemented privilege check for most of the WebDAV methods e25fcbc
- Upgraded the PUT method c1259de
- Upgraded the LOCK method 838c51b
- Changed the '401 Unauthorized' responses status for not allowed opertions to the '403 Forbidden' status e55460e
- Changed interface body into full interface declaration in the documentation bd3c6d7
- Added a comment to describe 'canSource' in the documentation 7ff9fd9
- Added the 'canSource' privilege to the documentation a72147f
- Added a full range of tests for the UNLOCK method d2d5075
- Upgraded the LOCK tests 838c51b
- Upgraded the UNLOCK tests f4f1363
- Added the 'date' header test 5668628
- Changed the 'override' word into 'overwrite' which makes more sense f3caaab
- Removed useless comment 8b5e8c8
- Converted 'new Error(...)' into the Error 'enum' b2c7bc2
- Removed useless TODO c65658e
- Added missing privilege check 3cfdbea
- Fixed code format 4526ad7
- Fixed a some bugs about the persistence 0d1c7c1
- Added persistence management (save and load the state of the server) b79a7ac
- Implemented a RootFSManager for the RootResource 6ce240c
- Added optional the resource name (null or undefined => empty string) e11644d
- Added the persistence section in the documentation db11649
- Added some tests for the persistence b3474da
- Fixed broken imports 458400c
- Exported more classes 116cc15
- Cleaned the project 7245ee5
- Used more restrictive imports in WebDAVServer.ts 327bd78
- Added export files in main folders of the project for better scallability 66a61c4
- Added the RFC privileges but not integrated 61b7865
- Implemented LOCK and UNLOCK methods a76f555
- Implemented the User management 5e7325a
- Implemented Basic and Digest HTTP authentication 5e7325a
- Implemented the structure of the privilege management 5e7325a
- Implemented some privilege/lock checkers 5e7325a
- Can now convert multi ':' tag names into namespace when producing XML response 3fbfb17
- Now check attributes to avoid namespace shortname collision when producing XML response 87f7a68
- Upgraded the lock management 299e307
- Added some errors as standard errors for better error management 8a051b2
- Updated the tests about XML responses af18fcd
- Implemented tests for the Authentication 2f02c2b
- Implemented tests for the LOCK and UNLOCK methods 43f934f
- Fixed the '<ns1>:<ns2>:<name>' error leading to 'x:<ns2>:<name> xmlns:x='<ns1>' f3e15a4
- Fixed namespace creation on '<namespace>:<name>' tag names 76d8bb0
- Added TypeScript types to package.json 766088b
- Trying to fix CodeClimate and upgrading tslint rules :
- Added what will be included in the future release 6495a73
- Implemented the COPY method 2f45f4b
- Added the method COPY to the supported methods ccc310f
- Cleaned imports on the PhysicalResource class 5115994
- Added getChildPath() method to FSPath class d1053ec
- Can now get a JSON response instead of a XML response depending on the
Accept
header :
- Added a standard method for writing operation results (other than raw data) depending to the Accept header (XML or JSON) 952f217
- Delegate response writing to the standard writing method in arg (MethodCallArgs) 24836fc
- Added tests for JSON and XML responses for PROPPATCH and PROPFIND 3ab05de
- Added JSON string production from XML string 34dac98
- Removed useless import from Options.ts 4c50a08
- Modified muteNodeNS function name to mutateNodeNS 54b3bf6
- Implemented the MOVE method 2cb0430
- Added the MOVE method as supported methods b591429
- Added tests for PROPPATCH for physical resources and virtual folder e4982dd
- Added more PROPFIND tests a4c9e63
- Added tests for the MOVE method 715fbbd
- Cleaned the code of some tests 49ba519
- Removed deprecated dev dep. @types/xml-js d30d602
- Forbid the use of console.* c18bcfb
- Upgraded the rules for TS checking 0ffc065
- Fixed divers bugs about PROPFIND 031794c
- Fixed changes of the move() method on the RootResource class 27a4bc1
- Added support for the PROPPATCH method [df2be26](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/df2be26
- Added XML support for resource properties [c4f206e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/c4f206e
- Implemented PROPFIND with 'xml-js' [87878cd](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/87878cd
- Moved XML management to 'xml-js' npm package [0aea380](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0aea380
- Added better ETag generator [1506637](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/1506637
- Added the PROPPATCH to the supported methods [719082f](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/719082f
- Implemented tests with 'xml-js' [15b0b97](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/15b0b97
- Added PROPPATCH tests [bd60886](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/bd60886
- Added tests for ETag :
- [6071bc9](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6071bc9
- For physical files [6ef6350](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6ef6350
- Added XML helper [12d90e7](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/12d90e7
- Added the child.delete() to the node execution queue [9614be9](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/9614be9
- Ignored *.log files [a261eae](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/a261eae
- Changed node version for Travis [0e47c3e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0e47c3e
- Updated lastModifiedDate when 'write' or 'append' methods called [d5a5f9e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d5a5f9e
- Fixed double quotes for ETag [36442c0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/36442c0
- Fixed deletion [1a6bf99](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/1a6bf99
- Added .gitkeep to test folders [b9c9ab2](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b9c9ab2
- Added support for the following methods :
- Changed HTTP status when the resource cannot be read d7c5192
- Added the new methods as supported :
- Added a link to the RFC 0313db9
- Added tests for the new methods :
- Added request as dev dep. 08fe206
- Removed support for POST method 98a75e5
- Added support for physical file/folder creation 4edab34
- Added disclaimer 10a5c2f
- Added tests for the physical folder 681caba
- Standarized the multiple tests in a single test file 3cd3934
- Added GET method test for physical resources d40bba8
- Filtered test files by *.js bd3488b
- Added exception display 592ee40
- Splitted files into one-class files for most of them a341dac
- Fixed Get method for files with a content equals to null or undefined dc7ff27
- Added content validation before sending GET response 269bcbf
- Fixed lint
- Fixed misspelling 62badc8
- Centralized tslint config into tslint.json 2edbce9
- Added CHANGELOG.md to record the changelog e860486
- Changed bitHound badge 6ad7c8d
- Added bitHound badge 0dad206
- Added more tests for the GET method 1e8b1fd
- Cleaned the code 4a06022
- Ignore tslint.json for git and npm ddeacd2
- Normalized tabs 8e81091
- Added bitHound configuration 44c84ff
- Added Hound config de1eb3b
- Now can inherit fsManager from parent a844417
- Implemented a part of the PhysicalFSManager 9cf0b9f
- Exported WebDAVServerOptions 0369cbd
- Removed the parent argument in resource constructors 093a244
- Fixed FSManager.instance() call e475b08
- Added Singleton pattern for managers 2ba4d2c
- Made optional the 'parent' and 'fsManager' on constructor of resources -> parent is not affected on 'addChild()' call 9c9a3bc
- Made fsManager argument optional in constructors aa02333
- Added some documentation c717169
- Added git repository to package.json 52abb55