Commit Graph

55 Commits

Author SHA1 Message Date
Marius Kleidl 7b9030c33a
chore: Address misc linting warnings 2023-06-09 11:07:05 +02:00
Marius Kleidl d5eca08944
handler: Refactor logging of UploadFinished and UploadTerminated into handler 2023-06-09 08:30:42 +02:00
Marius a75c24996f Add v2 to module name
See https://github.com/tus/tusd/pull/672#issuecomment-1082737523 for context
2023-03-08 13:03:18 +01:00
Marius aff352c413 fixup! Merge branch 'master' of github.com:tus/tusd into v2 2022-10-10 20:54:44 +02:00
Marius f0faa8e556 Merge branch 'master' of github.com:tus/tusd into v2 2022-10-10 20:48:47 +02:00
Marius a349a9296a handler: Allow quotes Forwarded header
Fixes https://github.com/tus/tusd/issues/809
2022-10-05 00:06:17 +02:00
Shun 7e6cd89114
cli: Change timestamp to microseconds in log (#794)
Co-authored-by: 内藤峻 <naito.shun@nttcom.co.jp>
2022-09-09 18:34:18 +02:00
Marius f898cd2b25 Revert "handler: Avoid calling WriteChunk if no data is available (#746)"
This reverts commit b5cbafdbd5.

See https://github.com/tus/tusd/issues/798
2022-09-09 18:21:09 +02:00
Marius 920deb3df7 cli: Add flag to specify progress interval 2022-08-15 23:26:58 +02:00
Marius cab456900a Merge branch 'master' of github.com:tus/tusd into v2 2022-07-25 13:02:05 +02:00
Walter Pesce 884cf6ecc1
handler: Fix typo preventing video/ogg from being inlined (#758)
fixed typo to allow video/ogg content-disposition inline.
fixed comment typos.
2022-07-01 23:29:20 +02:00
Marius 1038298a79 core: Change GetReader to return io.ReadCloser (#739)
Squashed commit of the following:

commit e8b5b3751a86d86cae10e0bcf89caa481e5c3de6
Author: Marius <marius@transloadit.com>
Date:   Sun Jun 19 12:15:22 2022 +0200

    Fix generated mocks

commit 736e2e7bb6
Merge: 9d7096f 1e69d9b
Author: Stefan Scheidewig <stefan.scheidewig@staffbase.com>
Date:   Sat Jun 18 07:53:29 2022 +0200

    Merge branch 'v2' into readcloser_in_getreader

commit 9d7096fcb3
Author: Stefan Scheidewig <stefan.scheidewig@staffbase.com>
Date:   Tue May 24 14:16:01 2022 +0200

    Return ReadCloser in getReader
2022-06-19 12:18:02 +02:00
André Fontenele b5cbafdbd5
handler: Avoid calling WriteChunk if no data is available (#746)
* fix: avoiding `writeChunk` no-op

* fix: formatting

* fix: added return statement

* fix: preserving side effects

* refactor: smaller change
2022-06-17 14:04:26 +02:00
Marius 1e69d9ba68 Merge branch 'master' of github.com:tus/tusd into v2 2022-06-17 13:21:59 +02:00
Marius 63830b35d1 handler: Send pre-finish hook before post-finish
Fixes https://github.com/tus/tusd/issues/702
2022-06-17 13:05:38 +02:00
Marius 9508fd3910 Merge branch 'master' of github.com:tus/tusd into v2 2022-04-10 18:24:30 +02:00
Ole-Martin Bratteng 3feef174fd
handler, cli: Add a flag to disable downloads and termination of uploads (#668)
* Add a flag to disable downloads of uploaded files

* Add a flag to disable deletion of uploaded files

* Fix spelling error

* Rename `DisableDelete` to `DisableTermination`

* Also rename CLI flag

* Conditionally build the `Access-Control-Allow-Methods` headers

* Update tests with new order of allowed methods header

* Add test for checking conditional `Access-Control-Allow-Methods` header
2022-03-28 23:43:35 +02:00
Marius 7eae867ec1 azurestore: Work around error being not comparable 2022-03-19 23:41:54 +01:00
Marius e52139f977
v2: Implement cancelable lock mechanism (#667)
* handler: Implement prototype of new locking back-end

* memorylocker2: Switch to channel for release notification

* handler: Update locker interface

* handler: Add method to close body with error

* memorylocker: Replace with new implementation

* filelocker: Adjust methods to match interface

* handler: Introduce new httpContext

* handler: Implement upload interruption

* handler: Adjust tests to new inferfaces

* handler, memorylocker: Cancel context to avoid leaks
2022-03-19 23:21:17 +01:00
Marius 12c10bf62f
v2: Rework hooks system (#516)
* ci: Remove plugin hook handler

* Rework error type from interface to struct

* Avoid writing to http.ResponseWriter directly

* Allow hooks to modify response

* Add example for HTTP hooks using Python

* Implement new plugin system using Hashicorp/go-plugin

* Enable returning partial HTTPResponses

* Remove some (unnecessary) error handling

* Forward stdout and stderr from plugin to tusd

* docs: Update examples

* cli: Update filehooks to new system

* cli: Renovate gRPC hooks

* docs: Correct casing of gRPC

* misc: Documentation, better examples, and code structure
2022-03-02 00:36:49 +01:00
Marius aca18332d1 core: Add TODO for metrics work 2021-11-15 13:23:59 +01:00
Marius b2273d4153 core: Add error constants
/cc @kvz
2021-10-25 11:54:02 +02:00
Marius c1eddef26a core: Use Go's builtin status code property 2021-10-25 10:38:10 +02:00
Marius 84faa14987 core: Allow non-tus HEAD requests, Add Length to HEAD responses
See https://github.com/tus/tusd/pull/480

Squashed commit of the following:

commit 7439fd84a6103afdedaf94701a65ce4376789380
Author: Marius <marius@transloadit.com>
Date:   Mon Oct 18 00:27:12 2021 +0200

    Docs and test

commit 16d9dc67e8c8eefc328b1ce12d7e7ca01a49f9f6
Merge: bae0ffb bea5183
Author: Marius <marius@transloadit.com>
Date:   Mon Oct 18 00:23:13 2021 +0200

    Merge branch 'head_header_check' of https://github.com/s3rius/tusd into s3rius-head_header_check

commit bea5183ec3
Author: Pavel Kirilin <win10@list.ru>
Date:   Thu May 20 19:53:36 2021 +0400

    Fixed "Tus-Resumable" header check for HEAD request.

    Signed-off-by: Pavel Kirilin <win10@list.ru>
2021-10-18 00:29:13 +02:00
Marius 0ad435b4c8 core: Fix wrong offset in upload progress notifications
Closes https://github.com/tus/tusd/issues/500
2021-10-13 21:08:09 +02:00
Marius 6d987aa226 core: Handle errors from reading request body centrally 2021-04-26 10:08:37 +02:00
Marius 97602c3d62 filestore: Handle os.ErrNotExist not in core handler 2021-04-25 23:17:42 +02:00
Ahmed J 0822c0ac43
handler: Use correct separation symbol for parsing Forwarded header (#433)
* fix forwarded header separator

* added tests

* fix tests

* updated test

* Reuse existing test for Forwarded header

Co-authored-by: Ahmed J <ahjabir@earthlink.iq>
Co-authored-by: Marius <marius@transloadit.com>
2020-10-12 12:36:55 +02:00
Marius 26b84bcb1c handler: Add tests for empty metadata pairs 2020-07-15 17:30:17 +02:00
Jens Steinhauser 87045a8fbf Allow empty metadata values 2020-06-20 13:24:07 +02:00
Hamish Forbes fdf168fbb6
cli: Add pre-finish hook (#382)
* core: add new synchronous event: pre-finish

* docs: pre-finish hook event

* docs: Added information about CORS to the FAQ. (#384)

* Added information about CORS to the FAQ.

* docs: Expand explanation of CORS

Co-authored-by: Marius <marius@transloadit.com>

* cli: add header forwarding in HTTP hooks (#371)

* cli: add header forwarding in HTTP hooks

* docs: Reword header forwarding flag, add documentation

* Don't enable pre-finish hooks by default

* Enable pre-finish hooks for plugins

* docs: default enabled hooks

* Rename callback

Co-authored-by: josh-marshall-jax <52457971+josh-marshall-jax@users.noreply.github.com>
Co-authored-by: Marius <marius@transloadit.com>
2020-05-15 17:27:09 +02:00
Marius 936f465cc3 Merge branch 'master' of github.com:tus/tusd 2020-04-06 12:24:05 +02:00
Marius 286d2d1e23 handler: Add request ID to log output 2020-04-06 12:20:57 +02:00
dmmakita 43bd4b0ccb
core: Allow Authorization header in CORS (#355)
* Update cors_test.go

Adding Allow Authorization Header

* Update unrouted_handler.go

Adding Allow Authorization Header to CORS
2020-02-24 20:47:54 +01:00
Marius 973a4fe066 s3store: Fix bug when completing empty upload 2020-02-23 20:26:00 +01:00
Marius 790d6ea849 handler: Allow method overriding in CORS requests 2019-11-15 21:06:29 +01:00
Ankit Pokhrel 898f3fe72a gcsstore: Remove unnecessary typecasts and unused mocks (#313) 2019-10-09 14:44:13 +02:00
Ankit Pokhrel 321acd1821 core, gcsstore: Update deprecated methods (#312) 2019-10-08 10:30:19 +02:00
Marius a045b8c4fc core: Allow numbers in mime types
See https://community.transloadit.com/t/tus-server-not-returning-the-correct-content-type-for-video-or-audio-file/15076
2019-10-07 11:28:13 +02:00
Marius 57be489b8b fixup! core: Allow writing data to storage after request is cancelled 2019-09-29 20:12:50 +02:00
Marius 65d2f1c2ef core: Allow writing data to storage after request is cancelled 2019-09-29 20:03:18 +02:00
Marius b73d634b47 core: Pass Upload interfaces to ConcatUploads 2019-09-19 12:14:25 +02:00
Marius 6b21772107 core: Provide HTTP request details to hooks
Closes https://github.com/tus/tusd/issues/185
2019-09-19 11:15:48 +02:00
Marius 485c21d72e core: Add context to DataStores
Closes https://github.com/tus/tusd/issues/288
2019-09-15 13:43:59 +02:00
Marius 7d639b930d core: Replace old LockerDataStore with new Locker 2019-09-12 12:37:43 +02:00
Marius 8e1dce1dcb filelocker: Add tests 2019-09-10 16:19:49 +02:00
Marius 241c458184 cli: Print out available tus extensions 2019-09-10 15:27:47 +02:00
Marius 12114b1ae8 Merge branch 'master' of github.com:tus/tusd into v1 2019-09-09 13:37:53 +02:00
Marius 1389d86547 core: Add back composer_test 2019-08-26 20:41:00 +02:00
Marius 5004d3ca4d core: Refactor DataStore 2019-08-25 22:10:55 +02:00