Commit Graph

280 Commits

Author SHA1 Message Date
Marius a6e85ecf7e Only install own dependencies 2016-01-08 19:23:59 +01:00
Marius bdf144e9a1 Restrict tests on travis to internal packages 2016-01-08 14:40:34 +01:00
Marius 4b38221157 Exclude special directories from tests on Travis 2016-01-05 19:21:59 +01:00
Marius 83f71dcd92 Add dependencies using vendoring technique 2016-01-05 19:10:21 +01:00
Marius cfba2e3b94 Merge branch 'master' into s3 2016-01-05 18:22:26 +01:00
Marius 2073521776 Add tests for S3Store 2016-01-05 18:21:53 +01:00
Marius 0e8ab11170 Run non-verbose tests on Travis 2016-01-04 19:35:43 +01:00
Marius 367642c9fc Move to container-based infratructure on Travis 2016-01-04 19:29:12 +01:00
Marius 2f83ed02f0 Merge branch 'master' of github.com:tus/tusd 2016-01-04 19:22:16 +01:00
Marius 8c948613b3 Test all packages on Travis 2016-01-04 19:21:58 +01:00
Marius b5e874626a Display AppVeyor status for master branch 2015-12-27 13:13:12 +01:00
Marius b6d67debee Merge branch 'master' into s3
Conflicts:
	datastore.go
2015-12-27 00:48:06 +01:00
Marius 4af7434c10 Move terminating method in own interface
In addition, the DELETE handler is only provided if the TerminaterDataStore
interface is implemented.
2015-12-27 00:44:02 +01:00
Marius f96e2614fc Test against Go 1.5 and 1.6 on Travis 2015-12-26 22:36:38 +01:00
Marius 28eb393dc5 Use HTTPS- instead of SSH url for submodule 2015-12-26 22:34:25 +01:00
Marius 4ee2a09510 Use Go's vendoring for dependencies 2015-12-26 22:28:36 +01:00
Marius b80b018a80 Merge pull request #37 from tus/lockingstore
Make locking implementation flexible
2015-12-26 21:36:40 +01:00
Marius f6a5530df8 Integrate LockingStore into UnroutedHandler
The reason behind this drastic move was that sometimes a lock needs to
persist across multiple calls to a DataStore. For example, when a PATCH
request is received, following behaviour is wanted:
	* Obtain lock (LockUpload)
	* Get offset, size etc (GetInfo)
	* Write data (WriteChunk)
	* Release lock (UnlockUpload)
However, before this change, the lock would be release and then obtained again
after the GetInfo and before the WriteChunk call. This resulted in an
inefficient resource usage and even a possible race condition.

The effects of this change was:
* FileLocker is now directly integrated into FileStore and not sperarated
* LockingStore and the entire package has been removed
* MemoryLocker has been moved into its very own package
2015-12-26 21:23:09 +01:00
Marius cfabbf5ffb Extract tests into tusd_test package 2015-12-25 22:33:27 +01:00
Marius 14285e971d Add documentation for FileLocker 2015-12-25 21:33:58 +01:00
Marius b4c0df187e Provide easier way for locking file storage 2015-12-19 00:21:34 +01:00
Marius 83587ca0f8 Add filestore.FileLocker 2015-12-19 00:02:11 +01:00
Marius 8d94d55320 Add package descriptions for documentation 2015-12-18 23:24:12 +01:00
Marius 97f2efb6e5 Rename New to NewMemoryLocker 2015-12-18 23:21:13 +01:00
Marius 47492260e8 Add documentation for MemoryLocker 2015-12-18 23:20:52 +01:00
Marius b03ddd1d4c Add documentation for package lockingstore 2015-12-18 23:13:00 +01:00
Marius 4073f4ae64 Add test for LockingStore 2015-12-15 22:59:58 +01:00
Marius b3fb3a3f5d Ensure MemoryLocker implements Locker in tests 2015-12-15 22:04:12 +01:00
Marius 45936806a9 Add test for lockingstore.MemoryLocker 2015-12-09 20:48:41 +01:00
Marius 49d7c2ff78 Separate locking into data store implementation
The goal is to allow different locking mechanism to be used for different
storages. For example, in-memory for very few uploads, a file locker in
conjunction with the FileStore or an external service, such as ZooKeeper.
2015-12-09 20:25:08 +01:00
Marius 063d4a2442 Add first draft for s3Store 2015-12-08 22:26:37 +01:00
Marius ad5e486ba0 Merge master 2015-12-08 22:08:54 +01:00
Marius 608795b322 Merge pull request #36 from gingermusketeer/expose-handler-methods-v2
Extract basic handlers into unrouted struct
2015-12-08 21:32:56 +01:00
Max Brosnahan 430af02794 Tweak documentation to refer to UnroutedHandler 2015-12-08 10:26:35 +13:00
Max Brosnahan e6f8969399 Handle failure to extract id from url 2015-12-08 09:37:34 +13:00
Max Brosnahan f27c9fd439 Remove dependency on pat for id extraction 2015-12-08 09:10:49 +13:00
Max Brosnahan 218cdfd022 Rename TusMiddleware function to Middleware 2015-12-08 09:10:02 +13:00
Max Brosnahan 12037a8e1d Tweak documentation 2015-12-08 09:09:47 +13:00
Max Brosnahan b36b5ac3bb Extract basic handlers into unrouted struct 2015-12-02 22:19:10 +00:00
Marius dd6ce92651 Ensure an empty body in response to a HEAD request
Addresses #35
2015-12-02 18:59:22 +01:00
Marius 88aed988f9 Ensure empty body in HEAD response 2015-11-26 16:25:59 +01:00
Marius 9a943a4896 Ignore order of metadata in tests 2015-11-26 16:25:34 +01:00
Marius 3812aa7ca2 Add test case for order of termination 2015-11-26 12:43:49 +01:00
Marius 7b1cf1f639 Adjust code style 2015-11-26 12:43:31 +01:00
Marius 38e0a4759b Add documentation for order of termination 2015-11-26 12:43:04 +01:00
anirudt 84ae1cb5b7 modified to private struct 2015-11-25 08:09:58 +05:30
anirudt e135bdde99 fixed bugs 2015-11-25 07:54:36 +05:30
anirudt 57fc14d2f4 used reverse.sort interface 2015-11-25 07:47:31 +05:30
anirudt c2e521e518 fixed index 2015-11-21 09:20:32 +05:30
anirudt 06be13f200 Sorting before termination of uploads
This fix is in limitedstore/limitedstore.go, to intelligently terminate
existing file uploads. The store.uploads map is sorted, and
then analysed to remove the bigger existing uploads first.
2015-11-21 09:02:48 +05:30