1189 Commits

Author SHA1 Message Date
Joachim Van Herwegen
6e2a4b5c2b feat: Create SubdomainIdentifierGenerator
To be used when creating pods.
2021-02-25 13:16:26 +01:00
Joachim Van Herwegen
a28fb0258f feat: Use an IdentifierStrategy in InMemoryDataAccessor
Now it's also possible to support multiple root containers.
2021-02-25 13:16:26 +01:00
Joachim Van Herwegen
29df380396 feat: Create SubdomainIdentifierStrategy
This strategy interprets all subdomains of the base to also be root containers.
2021-02-25 13:16:26 +01:00
Joachim Van Herwegen
bdb3621ee3 feat: Create SubdomainExtensionBasedMapper
This is required for file backends when supporting identifiers containing subdomains.
2021-02-25 13:16:26 +01:00
Joachim Van Herwegen
e9502e55a7 refactor: Move MapperUtil functions to BaseFileIdentifierMapper 2021-02-25 13:16:26 +01:00
Joachim Van Herwegen
55fddf8e60 chore: Update sparqlalgebrajs to v2.5.1 2021-02-25 10:21:55 +01:00
Ruben Verborgh
c3cff553e3 feat: Emit container pub event on PUT.
Closes https://github.com/solid/community-server/issues/612
2021-02-24 12:04:42 +01:00
Ruben Verborgh
6edc255707 feat: Make stores return modified resources. 2021-02-24 12:04:42 +01:00
Arthur Joppart
28c0eb7e88
Correctly handle slugs in POST requests
* bug: correctly handle slug in POST request

* bug: disallow slashes in slug + modified tests

* fix: fixed tests to work with PUT instead of POST+slug

* fix: fixed tests failing in ci

* fix: adapted to reviews

* fix: adapted to review
2021-02-24 12:03:41 +01:00
Matthieu Bosquet
894d4589d9
fix: Allow non-variable BGP boedies in SPARQL updates
* fix: SPARQL algebra update

* fix: SPARQL algebra bgp only

* fix: No SPARQL variables and refactor tests
2021-02-24 08:56:31 +01:00
Ruben Verborgh
14736327e7 test: Better indicate deployment results. 2021-02-23 11:18:19 +01:00
Ruben Verborgh
66dc136fec refactor: Explicitly pass process argument in CLI. 2021-02-23 10:50:55 +01:00
Michiel de Jong
91791a0a14 Fix #621: acl:AuthenticatedAgent instead of foaf:AuthenticatedAgent 2021-02-18 15:28:29 +01:00
Joachim Van Herwegen
4efe9cee3c feat: Integrate WAC-Allow header support 2021-02-18 14:13:47 +01:00
Joachim Van Herwegen
139342470e feat: Add WAC-Allow header when required 2021-02-18 14:13:47 +01:00
Joachim Van Herwegen
f2f265c586 feat: Let Authorizers output an Authorization 2021-02-18 14:13:47 +01:00
Joachim Van Herwegen
8ccc68d29c feat: Add acl link headers based on headers instead of hardcoding 2021-02-18 13:26:08 +01:00
Joachim Van Herwegen
0c047234e3 feat: Support auxiliary behaviour in DataAccessorBasedStore 2021-02-18 13:26:08 +01:00
Joachim Van Herwegen
f87fc61ab0 feat: Support updating multiple metadata values for a predicate 2021-02-18 13:26:08 +01:00
Joachim Van Herwegen
061c856161 feat: Add auxiliary support to LockingResourceStore
This way locks are always on the associated resource
if there is a request on an auxiliary resource.
2021-02-18 13:26:08 +01:00
Joachim Van Herwegen
7f34fe6ae3 feat: Create separate authorizer for auxiliary functions 2021-02-18 13:26:08 +01:00
Joachim Van Herwegen
8339413ab4 feat: Add permissions extractor for acl resources 2021-02-18 13:26:08 +01:00
Joachim Van Herwegen
758f5ed083 feat: Generalize AclManager to AuxiliaryManager 2021-02-18 13:26:08 +01:00
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
49a04c4d0a test: Remove root folder creation from integration tests
This should be handled by the initializer
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
230303e7d7 test: Add fetch-based integration tests
This way we already have some basic test
until the mocking library is completely removed.
2021-02-10 16:00:35 +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
38b1c98cb6 feat: Integrate GreedyReadWriteLocker 2021-02-09 14:35:12 +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
Ruben Verborgh
df19aa26ef chore: Use main as default branch.
Closes https://github.com/solid/community-server/issues/365
2021-02-03 09:11:42 +01:00
Renovate Bot
0fe1bbd004 fix(deps): update dependency @types/yargs to v16 2021-02-01 09:06:20 +01:00
Joachim Van Herwegen
386d78277d fix: Close unpiped streams 2021-01-29 15:42:34 +01:00
Ruben Verborgh
904c069451 change: Move FaviconHandler config to facilitate reuse. 2021-01-29 15:39:59 +01:00
Joachim Van Herwegen
c29928c32c fix: Test error classes correctly 2021-01-29 09:40:10 +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