Commit Graph

1038 Commits

Author SHA1 Message Date
Marius 810fa89494 Add support for upload termination in S3Store 2016-01-16 16:12:37 +01:00
Marius 27d6ade187 Add RespectForwardedHeaders option to handlers
When activated, X-Forwarded-* and Forwarded headers will be checked for a
hostname and protocol used for generating absolute URLs.

Addresses #38
2016-01-16 15:27:35 +01:00
Marius cecccf4162 Deploy using Go 1.5 2016-01-13 22:25:55 +01:00
Marius 3c45d40890 Test against Go 1.6 Beta 1 on Travis 2016-01-13 22:25:16 +01:00
Marius 28a7b9d950 Add S3 option to tusd(1) 2016-01-13 22:24:41 +01:00
Marius cb0f8dac6a Add isAwsError helper method 2016-01-12 22:21:05 +01:00
Marius e64e99eec3 Update dependencies 2016-01-10 13:28:23 +01:00
Marius a1141b836f Squashed commit of the following:
commit 0203e5c57f397865fd5a95b7f91f5f27fd306431
Author: Marius <maerious@gmail.com>
Date:   Sat Jan 9 20:39:46 2016 +0100

    Update dependencies

commit be5b2b8f62b4644fd9c52a838fe68d98b4eae8e4
Author: Marius <maerious@gmail.com>
Date:   Sat Jan 9 19:17:32 2016 +0100

    Pull dependencies from vendor/ in /home/marius/workspace/go for Go < 1.5

commit e631bbcc59e4c9e5e928b172b4c6aab6eb71274d
Author: Marius <maerious@gmail.com>
Date:   Sat Jan 9 19:15:20 2016 +0100

    Vendor dependencies
2016-01-09 20:44:06 +01:00
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