546 Commits

Author SHA1 Message Date
Joachim Van Herwegen
d6cdd7dbdf feat: Introduce generic auxiliary resource support 2021-02-18 13:26:08 +01:00
Joachim Van Herwegen
766e6318ba feat: Add control permission to PermissionSet
This is in preparation of generalizing permissions
of auxiliary resources.
2021-02-18 13:26:08 +01:00
Wouter Termont
1486f01aaf
fix: do not output filesystem container size
* fix: do not output filesystem container size

* fix: only omit size metadata for containers

Signed-off-by: Wouter Termont <woutermont@gmail.com>
2021-02-12 09:18:09 +01:00
Joachim Van Herwegen
30cebec32a fix: Make mkdir recursive in FileDataAccessor
DataAccessorBasedStore already did the checks to make sure
writing this container is valid and this allows us to
start the server in nested non-existing folders.
2021-02-11 14:35:56 +01:00
Joachim Van Herwegen
bb65630441 fix: Remove default root container from InMemoryDataAccessor 2021-02-11 14:35:56 +01:00
Joachim Van Herwegen
6424b07fc6 fix: Prevent setRepresentation crash if there is no root container 2021-02-11 14:35:56 +01:00
Joachim Van Herwegen
c05933f652 fix: Simply GuardedStream check 2021-02-11 10:46:24 +01:00
Stijn Taelemans
ce1f4300ff
feat: Replace express with native http module
* refactor: replace express with native http module

* fix: 404 when unhandled

* chore: removed express dependency

* chore: updated package-lock.json

* docs: added documentation for BaseHttpServerFactory

* chore: updated package-lock.json

Co-authored-by: Arthur Joppart <arthur@digita.ai>
2021-02-11 10:15:40 +01:00
Joachim Van Herwegen
0ffd332828 feat: Use end-of-stream to know when to release lock 2021-02-10 16:37:34 +01:00
Joachim Van Herwegen
fd45779159 feat: Pipe streams with the pump library
The library handles some edge cases we didn't yet.
The GuardedStream was also updated to ignore error listeners
already attached to the stream (since pump adds internal listeners).
2021-02-10 16:00:35 +01:00
Stijn Taelemans
9b6eab27bc refactor: upgraded @types/cors 2021-02-10 11:11:57 +01:00
Joachim Van Herwegen
a3f41c1d43 feat: Create GreedyReadWriteLocker using read/write locking algorithm 2021-02-09 14:35:12 +01:00
Joachim Van Herwegen
59deb989ec feat: Introduce internal storing mechanism 2021-02-09 14:35:12 +01:00
Joachim Van Herwegen
b61d46900f feat: Create new interface for lockers with only 1 kind of lock 2021-02-09 14:35:12 +01:00
Joachim Van Herwegen
59600b07f8 fix: Fixed bug with empty Accept headers and internal/quads bodies
In case the Accept header was empty and the store returned an internal/quads
resource, our  mechanism to prevent internal data from being returned
was ignored.
2021-02-09 13:26:36 +01:00
Joachim Van Herwegen
6c4378a2de fix: Fix problem with piping streams for PATCH requests 2021-02-08 08:52:11 +01:00
Joachim Van Herwegen
73acb9cd52 fix: Prevent race condition in OPTIONS call 2021-02-05 17:18:45 +01:00
Joachim Van Herwegen
386d78277d fix: Close unpiped streams 2021-01-29 15:42:34 +01:00
Ruben Verborgh
a57105be8e change: Query string does not influence identifier. 2021-01-29 09:12:49 +01:00
Ruben Verborgh
6e50443a39 fix: Preserve query string in transformations. 2021-01-29 09:12:49 +01:00
Ruben Verborgh
c899e6c4b1
fix: Do not re-encode static assets. (#566)
Fix serving binary static assets.
2021-01-28 22:02:32 +00:00
Ruben Verborgh
2563335403 feat: Support folders in StaticAssetHandler.
Closes https://github.com/solid/community-server/issues/548
2021-01-28 09:07:54 +01:00
Joachim Van Herwegen
93e53b3d24 fix: Only require append permissions on POST requests 2021-01-27 11:54:15 +01:00
Ruben Verborgh
817cf3ac0d feat: Add ParallelHandler. 2021-01-27 11:29:35 +01:00
Ruben Verborgh
eb1440851a refactor: Move handlers into subfolder. 2021-01-27 11:29:35 +01:00
Joachim Van Herwegen
2c3300028e feat: Add acl link header writer
This writer will add a link to the corresponding acl file
for all LDP requests.
2021-01-26 11:38:46 +01:00
Ruben Verborgh
394e28b69d change: Make header capitalization consistent. 2021-01-26 10:52:38 +01:00
Ruben Verborgh
fe3957f0ae feat: Add ConstantMetadataWriter. 2021-01-26 10:52:38 +01:00
Joachim Van Herwegen
e752927171 fix: Remove all instanceof checks
This prevents problems with different environments.
Also introduces unit tests to double check HttpError values.
2021-01-25 16:11:43 +01:00
Joachim Van Herwegen
c17402517e feat: Update LockingResourceStore to use new locking interface
This has as added bonus that, in the case of getRepresentation,
the stream will be destroyed with an error in case of a timeout.
2021-01-22 11:34:51 +01:00
Joachim Van Herwegen
077f5d7069 fix: Remove locking from the SparqlUpdatePatchHandler
Due to not having re-entrant locks this would cause deadlocks
with the LockingResourceStore or require more advanced configurations.
If this is needed in the future we can potentially add a LockingPatchHandler.
2021-01-22 11:34:51 +01:00
Joachim Van Herwegen
b59357ec30 feat: Update WrappedExpiringResourceLocker to new interface
Due to the new interface, it is now possible to throw an error
if there is a timeout which should make it easier
to find locking issues.
2021-01-22 11:34:51 +01:00
Joachim Van Herwegen
4d440c6c69 feat: Update ResourceLocker interface
By making use of withReadLock and withWriteLock instead
of acquiring the locks themselves it's easier to keep control
of what happens.
2021-01-22 11:34:51 +01:00
Ruben Verborgh
75d0d4152a feat: Add placeholders for static assets to configuration. 2021-01-21 10:35:07 +01:00
Ruben Verborgh
5a12315554 feat: Add StaticAssetHandler. 2021-01-21 10:35:07 +01:00
Ruben Verborgh
b487dc738c fix: Create basic representations with streams. 2021-01-20 16:30:29 +01:00
Ruben Verborgh
5416d66a31 feat: Add ConstantConverter. 2021-01-20 14:36:17 +01:00
Ruben Verborgh
a21532ebf8 refactor: Allow IfNeededConverter to short-circuit. 2021-01-20 14:36:17 +01:00
Ruben Verborgh
dd9d873122 feat: Implement UnsupportedAsyncHandler. 2021-01-20 14:36:17 +01:00
Ruben Taelman
4ac0167c8d Add optional path and url suffixes to FixedContentTypeMapper 2021-01-19 10:54:49 +01:00
Joachim Van Herwegen
cf6270d161 fix: Accept absolute paths in CliRunner 2021-01-19 10:54:37 +01:00
Joachim Van Herwegen
36761e8124 feat: Support composite PATCH updates 2021-01-18 17:01:24 +01:00
Ruben Verborgh
e72117a21a refactor: Deduplicate mapper. 2021-01-18 16:42:18 +01:00
Ruben Verborgh
a46cd2bb3e refactor: Clarify DPoPWebIdExtractor needs the original URL.
https://github.com/solid/community-server/issues/492
2021-01-18 09:48:32 +01:00
Ruben Verborgh
3a4ec48720 refactor: Rename BasicTargetExtractor to OriginalUrlExtractor. 2021-01-18 09:48:32 +01:00
Ruben Verborgh
7adc9edb76 refactor: Make representation conversion unconditional. 2021-01-18 09:47:06 +01:00
Ruben Verborgh
6763500466 feat: Add IfNeededConverter and PassthroughConverter. 2021-01-18 09:47:06 +01:00
Ruben Verborgh
542901488f feat: Export UnsecureConstantCredentialsExtractor. 2021-01-15 20:19:11 +01:00
Ruben Verborgh
7dcde1e0e3 refactor: Improve logging for access control. 2021-01-15 18:25:37 +01:00
Ruben Verborgh
e544e6dc11 feat: Allow custom root ACL. 2021-01-15 12:43:34 +01:00