741 Commits

Author SHA1 Message Date
Joachim Van Herwegen
fa8d406f34 test: Create single function for port generation
This reduces the chances of several integration tests
re-using the same port.
2021-05-04 11:27:13 +02:00
Ruben Taelman
d1eadd75e7
feat: Expose AppRunner.run for easily serving from JS apps
* feat: make methods in CliRunner public

* change: rename CliRunner to AppRunner

* fix: process being passed incorrectly to runCli

* feat: expose AppRunner.run for easily serving from JS apps

* change: only make run methods on AppRunner public
2021-04-28 09:59:10 +02:00
Joachim Van Herwegen
44d82eac04 feat: Update ChainedConverter to create dynamic paths 2021-04-27 16:12:47 +02:00
Joachim Van Herwegen
87a54011b4 refactor: Extend and update the ConversionUtil functions 2021-04-27 16:11:50 +02:00
Ruben Verborgh
2d89350ed5 fix: Improve identifier error messages. 2021-04-27 09:02:11 +02:00
Joachim Van Herwegen
1d9b027a57 feat: Remove podTemplateFolder as a variable.
This is now possible due to TemplatedResourcesGenerator
accepting path strings relative to the module root.
2021-04-22 17:04:16 +02:00
Joachim Van Herwegen
e9917322e3 feat: Support $MODULE_PATH in StaticAssetHandler 2021-04-22 17:04:16 +02:00
Joachim Van Herwegen
0a420847dc test: Make sure PathUtil tests have full coverage 2021-04-22 17:04:16 +02:00
Arthur Joppart
99d0173213
feat: Add redis based locking mechanism
* feat: redis based locking mechanism

* fix: adapted to review and wrote unit tests

* fix: adapted to review(Woutermont)

* fix: adapted to review and expanded tests

* test: redlock integration tests

* test: corrected file name

* test: tests should run on CI now

* test: improved tests and minor changes according to review

* fix: forgot describeIf docker

* test: adapted to review

* test: Mock all redis dependencies

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2021-04-19 09:45:25 +02:00
Joachim Van Herwegen
953458231b fix: Prevent HttpRequest from being closed
In case a stream the request is being piped into closes,
we don't want to close the request since it shares a socket
with the response.
2021-04-09 09:04:25 +02:00
Joachim Van Herwegen
a00de24ec0 fix: Prevent CliRunner tests from outputting errors 2021-04-02 12:54:54 +02:00
Brandon Aaron
de51a231e3
feat: Fallback to X-Forwarded-* headers
* Fallback to X-Forwarded-* headers

This uses the first value from X-Forwarded-Host and
X-Forwarded-Proto if they're present and the standard Forwarded
header is not.

* Update parseForwarded to handle X-Forwarded-*

This updates the signature for parseForwarded to take in the headers
and handle the logic of falling back to X-Forwarded-* headers.

* Update src/util/HeaderUtil.ts

Co-authored-by: Ruben Verborgh <ruben@verborgh.org>

* Inline parseXForwarded helper

Additionally fixes a typo, updates a unit test, and removes a
typing that is no longer necessary.

* Tweak handling of X-Forwarded value checking and assignment

* Fix: terminology & consistency suggestions from review

Co-authored-by: Ruben Verborgh <ruben@verborgh.org>

Co-authored-by: Ruben Verborgh <ruben@verborgh.org>
Co-authored-by: Wouter Termont <woutermont@gmail.com>
2021-03-23 12:44:43 +01:00
Arne Vandoorslaer
dd5b496f1d
fix: Fix issue when there are multiple values for the same CLI parameter
* fix: added check for multiple values for the same option

* Update test/unit/init/CliRunner.test.ts

Co-authored-by: Ruben Verborgh <ruben@verborgh.org>

* fix: made CliRunner.run sync

Co-authored-by: Ruben Verborgh <ruben@verborgh.org>
2021-03-05 11:00:24 +01:00
Arthur Joppart
1589def066
fix: Error when unknown parameters are passed to the main executable
* bug: error when unknown parameters are passed to the main executable

* bug: error on unknown paramters and adapted to review

* fix: test wont pass in ci

* Update src/init/CliRunner.ts

Co-authored-by: Ruben Verborgh <ruben@verborgh.org>

* fix: adapted to review

* fix: made CliRunner.run async

Co-authored-by: Arne Vandoorslaer <arne@digita.ai>
Co-authored-by: Ruben Verborgh <ruben@verborgh.org>
2021-03-04 11:41:13 +01:00
Arthur Joppart
ee88bf14de
feat: Added cloneRepresentation function to ResourceUtil
* feat: added cloneRepresentation function to ResourceUtil

* fix: adapted to review

* fix: adapted to review

Co-authored-by: Arne Vandoorslaer <arne@digita.ai>
2021-03-04 08:43:53 +01:00
Joachim Van Herwegen
e3cf2f9469 test: Add integration tests for dynamic pod creation
Also fixed issue with pod template acl files
2021-03-02 11:47:07 +01:00
Joachim Van Herwegen
e500a82680 feat: Create configurations to integrate dynamic pod creation 2021-03-02 11:47:07 +01:00
Joachim Van Herwegen
6288003915 feat: Create KeyValueStorage with a JSON file backend 2021-03-02 11:47:07 +01:00
Joachim Van Herwegen
28b077b84e feat: Create initializer to instantiate dynamic pods 2021-03-02 11:47:07 +01:00
Joachim Van Herwegen
b78599182c feat: Create router rule based on matching the base URL 2021-03-02 11:47:07 +01:00
Joachim Van Herwegen
b160121176 feat: Add implementation for dynamically instantiating pods 2021-03-02 11:47:07 +01:00
Joachim Van Herwegen
88d008e36f feat: Create pod manager for generating dynamic pods 2021-03-02 11:47:07 +01:00
Joachim Van Herwegen
38afd72098 refactor: Rename Agent to PodSettings 2021-03-02 11:47:07 +01:00
Joachim Van Herwegen
0f00a8dffd feat: Update KeyValueStorage interface with entries function 2021-03-02 11:47:07 +01:00
Matthieu Bosquet
23473f59e6 fix: SPARQL body parser test content type metadata 2021-02-26 15:51:35 +01:00
Matthieu Bosquet
2a34a430fa fix: SPARQL PATCH Content Type 2021-02-26 15:51:35 +01:00
Arne Vandoorslaer
b3f292d718
feat: Added resourceExists method to ResourceStore
* feat: added resourceExists method to ResourceStore

* Merge remote-tracking branch 'origin/main' into feat/add-resourceExists-method-to-ResourceStore

* fix: adapted to review

* fix: adapted to review
2021-02-25 13:43:58 +01:00
Joachim Van Herwegen
e5b7d99da4 test: Add subdomain integration tests 2021-02-25 13:16:26 +01:00
Joachim Van Herwegen
797e804c07 feat: Add config presets for subdomain support 2021-02-25 13:16:26 +01:00
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
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
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