oliverpool
d7a4619080
Prevent race condition on errorstotal increment
...
The HTTPError interface is used to have detailed metrics (by code as
well)
2017-02-01 08:37:46 +01:00
Marius
7710fd79fb
Correct parsing Upload-Concat for final uplaods
...
Addresses https://github.com/tus/tus-resumable-upload-protocol/issues/123
2017-01-31 16:58:31 +01:00
Marius
f50f03fe6f
Allow data store to set the status code for errors
...
Closes https://github.com/tus/tusd/issues/77
2017-01-26 23:15:05 +01:00
Marius
97bd6db73f
Add NotifyUploadProgress configuration option
2017-01-19 21:02:58 +01:00
Marius
888049ce50
Add test for attempting empty download
2016-10-13 18:38:43 +02:00
Marius
182a96e3e8
Do not reject unexpected content types during upload creation
...
See tus/tus-java-client#10
2016-09-29 21:20:56 +02:00
Marius
9a5646ad6c
Add proper, formatted logging
2016-09-23 21:21:38 +02:00
Marius
dc673402d2
Add support for Creation With Upload extension
...
See tus/tus-resumable-upload-protocol#88 for the current proposal
2016-08-28 22:06:37 +02:00
Marius
6b1e8a8bda
Respond with the correct 200 OK code for HEAD requests
...
Fixes #48
2016-08-28 15:26:12 +02:00
Marius
c80c8b1962
Allow exposing metrics for Prometheus and Co.
2016-05-24 17:04:28 +02:00
Marius
d6bc50ff12
Use 200 OK in responses for preflight requests
...
Some browsers only accept 200 OK and not 204 No Content as respones codes
for preflight requests.
See tus/tus-js-client#34
2016-05-10 11:58:43 +02:00
Marius
3e6ea68d07
Suggest original filename when downloading
2016-04-19 11:22:32 +02:00
Marius
4e8842d91c
Do not pass chunk for uploaded uploads to data store
2016-04-09 22:09:22 +02:00
Marius
bcea96b88e
Add test for complete upload notifications using Concatenaiton
2016-03-12 22:52:31 +01:00
Marius
acf2e8daee
Improve documentation for complete uploads notifications
2016-03-12 22:28:24 +01:00
Marius
3ee1c61d80
Add post-terminate hook
2016-03-12 22:24:57 +01:00
Marius
03ab994a4e
Merge branch 'master' into composer
2016-02-22 14:12:24 +01:00
Marius
a949cb6b81
Set proper offset for complete notifications
2016-02-22 13:58:05 +01:00
Marius
21ae1c45a7
Add initial draft of StoreComposr
2016-02-21 23:25:35 +01:00
Marius
13c27e1c19
Send Upload Complete Notification for concatenations
2016-02-21 18:38:43 +01:00
Marius
db9204927d
Merge branch 'forwarded-host'
2016-01-23 14:11:47 +01:00
Marius
b6a28421af
Extract concatenation into own interface
2016-01-20 15:33:17 +01:00
Marius
c9207d8c5f
Extract GetReader into own interface
2016-01-19 22:32:15 +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
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
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
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
ad5e486ba0
Merge master
2015-12-08 22:08:54 +01: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