112 Commits

Author SHA1 Message Date
Joachim Van Herwegen
4f17f2baac Merge branch 'main' into versions/next-major 2023-07-25 09:43:15 +02:00
Joachim Van Herwegen
c0a881b980 fix: Use correct type for Webhook notifications 2023-06-13 08:14:11 +02:00
Joachim Van Herwegen
9584ab7549 fix: Make root storage subject of storage description 2023-06-13 08:14:11 +02:00
Joachim Van Herwegen
36ff95e6b2 feat: StaticAssetHandler can link a container to a document 2023-06-06 09:18:29 +02:00
Joachim Van Herwegen
5347025720 fix: Make sure locker allows reentrant lock acquisition 2023-05-02 09:27:31 +02:00
Joachim Van Herwegen
4b7621f9e0 feat: Support both the old and new WebSocket specifications together 2023-04-27 11:27:34 +02:00
Joachim Van Herwegen
69af7c4e16 feat: Use WebSocket2023Channel identifier for WebSocket URL 2023-04-27 11:27:34 +02:00
Joachim Van Herwegen
262f6b4558 chore: Update dependencies 2023-04-27 10:47:30 +02:00
Joachim Van Herwegen
b250beaec9 fix: Support new ETag format in notification states 2023-04-26 13:25:06 +02:00
Joachim Van Herwegen
d59a1595d5 feat: Replace WebHookSubscription2021 with WebHookChannel2023 2023-04-24 11:00:54 +02:00
Joachim Van Herwegen
e9463483f4 feat: Allow unsubscribing from all notification channels 2023-04-24 10:18:17 +02:00
Joachim Van Herwegen
f7e05ca31e feat: Restrict channels to 2 weeks by default 2023-04-24 10:18:17 +02:00
Joachim Van Herwegen
134237a80f feat: Support Add/Remove notifications on containers 2023-04-20 15:42:04 +02:00
Joachim Van Herwegen
702e8f5f59 feat: Replace WebSocketSubscription2021 with WebSocketChannel2023 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
cbbb10afa1 feat: Use URLs for channel identifiers
In the future these can potentially be used to dereference them
2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
67d1ff4ac0 feat: Ignore unsupported notifications features in subscriptions 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
65860f77da feat: Support GET requests on subscription services
Doing a GET request on a subscription resource
will return the expected representation.
Content negotiation is supported.
2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
b2f4d7fb2d fix: Update the lastEmit value after sending a notification 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
3a0c8159df test: Check the correct WebID in the WebHookEmitter tests 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
c36f15e2da feat: Generalize and extend notification channel type behaviour 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
7d029a9465 feat: Remove NotificationChannelInfo generics 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
8d31233075 refactor: Rename NotificationChannelInfo to NotificationChannel 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
61f04487a1 refactor: Rename subscription to notification channel 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
7c343a5fcc feat: Update notification object to match the updated examples 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
caee563dd6 feat: Replace expiration feature with startAt and endAt 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
10980e90a3 feat: Use notification v0.2 features in discovery 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
23db528472 fix: Replace inefficient storage detection
This replaces the recursive backend calls to find the storage
by a new class that is aware what the storage URLs look like.
2023-04-19 09:47:47 +02:00
Joachim Van Herwegen
c46d01d3d7 feat: Remove agent/user permission differentiation
This was only used for the WAC-Allow header and greatly simplifies how we use permissions.
2022-11-18 16:08:06 +01:00
Joachim Van Herwegen
6ad5c0c797 feat: Move WAC-Allow metadata collecting to HTTP handler
This depends on all auth related handlers to cache their results.
This allows us to remove the permission field from Operation.
2022-11-18 16:08:06 +01:00
Joachim Van Herwegen
f54c34d1e0 feat: Add support for WebHookSubscription2021 2022-11-15 15:50:05 +01:00
Joachim Van Herwegen
cb619415fa refactor: Move WebSocket URL handling to utility functions 2022-11-15 15:50:05 +01:00
Joachim Van Herwegen
b1f7a6a8b1 feat: Add support for WebSocketSubscription2021 2022-11-09 09:10:00 +01:00
Joachim Van Herwegen
cbc07c6ef3 feat: Add support for the Notification specification 2022-11-09 09:10:00 +01:00
Joachim Van Herwegen
df2f69f532 feat: Expose a storage description resource for storage containers 2022-11-09 09:10:00 +01:00
Joachim Van Herwegen
3db1921633 feat: Create an OperationRouterHandler
This allows us to route after an Operation has been parsed
2022-11-09 09:10:00 +01:00
Joachim Van Herwegen
4223dcf8a4 feat: Split up server creation and request handling
This allows us to decouple the WebSocket listening from the HTTP configs,
making these features completely orthogonal.
2022-11-09 09:10:00 +01:00
Joachim Van Herwegen
764ce3cc28 feat: Create a GenericEventEmitter interface
This allows us to have typed EventEmitters.
2022-11-09 09:10:00 +01:00
Joachim Van Herwegen
fa1dee573e feat: Add required ACP headers 2022-10-06 09:36:04 +02:00
Joachim Van Herwegen
f3e7a20800 feat: Update Credentials typings to support client/issuer 2022-10-06 09:36:04 +02:00
Joachim Van Herwegen
740ba3398b Merge branch 'main' into versions/5.0.0
# Conflicts:
#	RELEASE_NOTES.md
#	config/app/variables/cli/cli.json
#	config/app/variables/default.json
#	package-lock.json
#	package.json
2022-08-04 17:18:34 +02:00
Joachim Van Herwegen
93a141dd61 fix: Improve HTTP stream error messages 2022-07-14 11:41:18 +02:00
Joachim Van Herwegen
23f0b37c28 feat: Change permission interface to store identifiers 2022-07-11 14:07:43 +02:00
Joachim Van Herwegen
df0825936a feat: Parse Accept headers as early as possible 2022-06-01 10:05:36 +02:00
Jasper Vaneessen
2814e72b34
feat: Respect root path for static assets and HTML links
* feat: rootpath for static assets and links1

* fix: static asset handler respects root path

* fix: use rootPath for links

* tests: fix the tests after adding consuctor params

* feat: change matchregex instead of stored URLs

* feat: baseUrl for handlebar engine and templates

* feat: full baseUrl passed to templates

* test: fix integration tests + templates

* chore: implement requested changes

* docs: Describe TemplateEngine interface changes

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2022-05-24 10:20:41 +02:00
Thomas Dupont
236bbc6e5d feat: initial proposal for multithreaded execution 2022-05-16 10:15:37 +02:00
Joachim Van Herwegen
d2bc995272 refactor: Replace RedirectAllHttpHandler usage with RedirectingHttpHandler 2022-04-25 09:09:39 +02:00
Wannes Kerckhove
283c301f08 feat: new helper functions to replace regexes #807
Implemented new StringUtil helper functions: splitCommaSeparated, sanitizeUrlPart, isValidFileName.
Added helper functions to HeaderUtil: matchesAuthorizationScheme, hasScheme.
Added unit tests for the new helper functions.
Refactored codebase to use helper functions instead of regexes if applicable.
2022-04-13 11:26:07 +02:00
Joachim Van Herwegen
1b7cc1ea3a Merge branch 'main' into versions/4.0.0
# Conflicts:
#	test/unit/util/errors/RedirectHttpError.test.ts
2022-04-11 10:21:49 +02:00
Wouter Termont
468e11d906
feat: Add RedirectingHttpHandler
* feat: redirect handler

Signed-off-by: Wouter Termont <woutermont@gmail.com>

* chore: rewrite reduction as loop

Signed-off-by: Wouter Termont <woutermont@gmail.com>

* chore: remove example import

Signed-off-by: Wouter Termont <woutermont@gmail.com>

* feat: add more redirect flavours

Signed-off-by: Wouter Termont <woutermont@gmail.com>

* chore: RedirectingHttpHandler with RedirectAllHttpHandler

Signed-off-by: Wouter Termont <woutermont@gmail.com>

* chore: replace RedirectAllHttpHandler with RedirectingHttpHandler

* chore: revert 5956385 (chore: replace RedirectAllHttpHandler with RedirectingHttpHandler)

This reverts commit 5956385c4180e8e8914b9199c4ed6ca8ae7d39fb.

* docs: complete constructor params

Signed-off-by: Wouter Termont <woutermont@gmail.com>
2022-04-11 09:49:36 +02:00
Ruben Verborgh
2c6167e0cb feat: Remove meta parameter from logging. 2022-04-01 14:18:58 +02:00