86 Commits

Author SHA1 Message Date
Joachim Van Herwegen
4d34cdd12f fix: Have AsyncHandlers only check what is necessary 2020-10-05 15:32:08 +02:00
Joachim Van Herwegen
10723bb6b8 fix: Retain status codes when combining errors 2020-10-02 09:37:10 +02:00
smessie
d8e6c08859 refactor: Remove Turtle to Quad and Quad to Turtle converters 2020-09-30 09:12:42 +02:00
Ruben Taelman
f186bece9f change: use regular getters and setters in LazyLoggerFactory 2020-09-23 10:04:31 +02:00
Ruben Taelman
b62f4eb016 change: improve getLoggerFactoryOrThrow error message 2020-09-23 10:04:31 +02:00
Ruben Taelman
4c534e9d5d change: add global setGlobalLoggerFactory function 2020-09-23 10:04:31 +02:00
Ruben Taelman
db9aefe551 feature: add level-based logger methods for convenience 2020-09-23 10:04:31 +02:00
Ruben Taelman
6212c15352 change: log messages in ExpressHttpServer 2020-09-23 10:04:31 +02:00
Ruben Taelman
aaa49219dc feat: configure logger during setup 2020-09-23 10:04:31 +02:00
Ruben Taelman
09ac83caa5 feat: add lazy logger wrapper 2020-09-23 10:04:31 +02:00
Ruben Taelman
5b825bc2d4 feat: add winston-based logger 2020-09-23 10:04:31 +02:00
Ruben Taelman
b0671031f1 feat: add void logger 2020-09-23 10:04:31 +02:00
Joachim Van Herwegen
e1533a0869 refactor: Rename UriUtil functions
Forgot to do this when rebasing
2020-09-17 11:58:38 +02:00
Joachim Van Herwegen
9657fbafb1 refactor: Update eslint related dependencies 2020-09-17 11:55:49 +02:00
Joachim Van Herwegen
85df2e5d7f refactor: Make URI constants consistent 2020-09-16 13:18:58 +02:00
Joachim Van Herwegen
8d3979372b refactor: Streamline RepresentationMetadata interface 2020-09-16 12:10:42 +02:00
Joachim Van Herwegen
76319ba360 feat: Update RepresentationMetadata to store triples 2020-09-16 12:10:42 +02:00
Ruben Taelman
1dd140ab61 refactor: Remove RuntimeConfig in favor of config variables, Closes #106 2020-09-15 08:52:23 +02:00
Joachim Van Herwegen
b1991cb08a
feat: More integration tests and test configs (#154)
* add todo

* Added configurations folder

* Added config to index

* changed /bin/server to use configfiles

* initiate acl with Setup component

* add last changes

* reset serverconfig

* move authenticatedLdpHandler configs to config files

* failed to read testss

* failed to read testss

* removed import part

* Fix merge conflicts

* add first FileResTests

* fix: fix fileresourcestore metadata error

* fix unit tests

* remove test files

* Added test and changed callFile

* Fix: metadata file error in FileResourceStore

* fix: ensure full test coverage

* added tests

* Fix get tests

* added testfiles

* changed config to use PasstrueStore

* to continue work on

* refactor fileresourcestore config

* refactor tests

* fix content-types, update tests

* replace sync methods with async methods

* move acl function to util

* added testfiles for Fileserver with acl

* update tests

* add first acl filestore test

* refactor

* add resource mapper

* refactor config files

* add more fileresourcestore acl tests

* add locking resource store test files

* move file mapping logic to resourcemapper

* added beforeAll for a permanent file in Auht tests

* make filestore dependent of resource mapper

* moved configs to test/configs

* set default contenttype

* refactor fileresourcemapper

* fix map function

* refactor

* fixed foldercreationtest

* changed some tests so the files are cleaned up when done testing

* add normalized parser

* Auhtenticationtests clean up acl file

* refactor unit test

* lost changes added again

* fix metadata problem

* refactor names

* reverse change

* add getters

* configs and start util

* add comments

* add comments, move code

* added acl helper and changed tests

* linter 7.7.0 -> 7.0.0

* moved test/tesfiles -> test/assets

* removed configs/**/*.ts from tsconfig.json

* Temporary changed threshold so cli test is ignored and commiting goes easier, will revert later

* added FileResourceStore to index

* Changed imports

* Changed imports for all configs

* Removed comment

* Changed names of configs

* added 'Config' to name and removed comment

* removed unused testfile and added testfile 0

* changed beforeAll to just copy permanent file

* change text/turtle to constant

* fix converter issue

* getHandler -> getHttpHandler, and updates to config

* removed ','

* removed trailing /

* changed imports for index.d.js problem

* removed duplicate file and added line that got removed in mergeconflicts

* add jest global teardown

* add ignore for CliRunner

* add changes

* fix copyfile error

* remove unused testfiles

* adding test with image

* add first util functions

* relative paths to absolute paths

* added 3 FileStoreTests

* more refactoring

* more absolute paths

* fix mkdir path

* added test

* add util for easy configs

* add comments

* added some testhelpers and refactor first test

* fix converter test error

* refactor FileResTests

* solved failing test because new converters

* removed afterAll()

* removed setAcl from util

* removed config from Authorization.test.ts

* changed strange linting

* refactored AuthenticatedFileResourceStore tests

* fixed unclear root variable

* fix: Use absolute test paths

* Mock fs correctly and remove teardown

* Clean up after tests

Co-authored-by: freyavs <freyavanspeybroeck@outlook.com>
Co-authored-by: thdossch <dossche.thor@gmail.com>
Co-authored-by: Freya <56410697+freyavs@users.noreply.github.com>
Co-authored-by: thdossch <49074469+thdossch@users.noreply.github.com>
Co-authored-by: Ruben Verborgh <ruben@verborgh.org>
2020-09-14 16:06:27 +02:00
Freya
383da24601
feat: Implement resource mapper for the file resource store (#142)
* move file mapping logic to resourcemapper

* make filestore dependent of resource mapper

* set default contenttype

* refactor fileresourcemapper

* fix map function

* refactor

* add normalized parser

* refactor unit test

* fix metadata problem

* refactor names

* reverse change

* add getters

* add comments

* add comments, move code

* change text/turtle to constant

* add changes

* add requested changes

* add more requested changes

* add more requested changes

* more changes
2020-09-11 17:08:53 +02:00
Ruben Taelman
0ed1ae539d lint: enable no-extraneous-dependencies rule
This also uses the new `import type` syntax for importing rdf-js types,
as it is required for making this new linter rule pass.

Closes #132
2020-09-07 08:46:08 +02:00
Ruben Verborgh
063437e5c1 refactor: More precise error messages 2020-09-04 23:15:35 +02:00
Ruben Verborgh
ba8b3575b0 refactor: Rename BasePermissionsExtractor to MethodPermissionsExtractor 2020-09-04 22:48:43 +02:00
Joachim Van Herwegen
c808dfeff0
fix: metadata file error in FileResourceStore
* Fix: metadata file error in FileResourceStore

* fix: ensure full test coverage

* add stream piping function in util

* Fix typing in util function

* Add requested changes

* add suggested changes

* add suggested change

Co-authored-by: freyavs <freyavanspeybroeck@outlook.com>
2020-09-04 09:12:35 +02:00
Joachim Van Herwegen
785ec1ee07 fix: Don't buffer data before sending response with InMemoryResourceStore 2020-09-03 11:13:08 +02:00
Ruben Verborgh
a06a7ff685 fix: Determine body presence according to RFC7230
Fixes https://github.com/solid/community-server/issues/121
2020-09-03 10:12:16 +02:00
Ruben Verborgh
85e3117efe refactor: Drop CONTENT_TYPE prefix 2020-09-03 09:52:48 +02:00
Ruben Verborgh
c5c5d13570 refactor: Replace dataType by binary flag 2020-09-03 09:52:48 +02:00
Ruben Verborgh
385e1a4cdf change: Support all PUT operations, error later 2020-09-03 09:02:20 +02:00
Ruben Verborgh
4965b476c9 feat: Send server identification 2020-09-02 16:33:20 +02:00
Ruben Verborgh
273626a799 fix: Ensure main handler ends 2020-09-02 16:33:20 +02:00
Joachim Van Herwegen
199d657097 refactor: Remove overused "Simple" prefix 2020-09-02 15:42:13 +02:00
Joachim Van Herwegen
3931d5f664 feat: Integrate ChainedConverter into the server 2020-09-01 15:39:10 +02:00
Joachim Van Herwegen
af4a82f4c1 feat: Dynamically determine matching types in ChainedConverter 2020-09-01 15:39:10 +02:00
Joachim Van Herwegen
734f7e7f0f feat: Create RepresentationConverter that chains other converters 2020-09-01 15:39:10 +02:00
Ruben Taelman
2c3ae4eded Add generic QuadToRdfConverter 2020-09-01 11:49:49 +02:00
Ruben Taelman
f08e97b80c fix: failing conversion test due to N3 update 2020-09-01 09:00:15 +02:00
Ruben Taelman
e88e680ed7 feat: add support for parsing more RDF formats using rdf-parse 2020-08-31 12:01:47 +02:00
Ruben Taelman
3387092fc3 Move base normalization to RuntimeConfig 2020-08-31 09:24:40 +02:00
Joachim Van Herwegen
86d5f367d5 feat: Support link and slug headers in SimpleBodyParser 2020-08-27 15:51:07 +02:00
Ruben Taelman
48740e5cba style: improve linting of imports
A new plugin is used that offers autofixing capabilities.
2020-08-26 13:20:19 +02:00
Ruben Taelman
5126356c94
feat: Move runtime config into dedicated component, Closes #67
* Move runtime config into dedicated component, Closes #67

* Migrate FileResourceStore to RuntimeConfig
2020-08-26 10:25:47 +02:00
Joachim Van Herwegen
4bc1dcdd1b fix: Remove duplicate checks
These were added when setting TypeScript settings to strict,
but should not be needed due to how AsyncHandlers should be used.
2020-08-25 15:12:01 +02:00
Ruben Taelman
5649903226
fix: Move ACL init into dedicated Setup component 2020-08-25 11:11:29 +02:00
smessie
aa510bc6b8
fix: Release lock only when stream ends or is abandoned (#60)
* fix: Release lock only when stream has ended reading or an error occurs

* refactor: Refactor code and tests

* refactor: Move function mock to onBefore and remove unnecessary data drain

* fix: Make functions protected, add extra listener and add extra tests

* fix: Add extra TSDoc comment

* fix: Adjust tests to expect both end and close event

* refactor: Move test to other file

* refactor: make lockedRun method-independent

* fix: ensure lock release happens only once

* fix: make locked resources time out

* fix: destroy readable on error

Co-authored-by: Ruben Verborgh <ruben@verborgh.org>
2020-08-20 10:51:19 +02:00
Joachim Van Herwegen
b489d69bad fix: Use posix path library to be OS independent 2020-08-18 14:34:32 +02:00
smessie
381dae42f6
feat: Add file based ResourceStore (#52)
* feat: Add file resource store

* test: Write some tests for FileResourceStore

* fix: Reformat code and fix various small things from reviews

* fix: Change constants to just be the corresponding URL

* fix: Remove extra unnecessary wrap in a Promise

* fix: Write some more tests and fix related bugs

* fix: Use old way to import fs promises to support older Node versions

* refactor: Refactor code and tests

* refactor: Refactor and better document code

* fix: Change comparison with undefined by typeof check

* fix: Invert typeof check
2020-08-18 14:19:25 +02:00
Joachim Van Herwegen
e06d0bc8c5 feat: Add more extensive permission parsing support 2020-08-18 11:21:48 +02:00
Joachim Van Herwegen
769b49293c feat: Integrate acl with rest of server 2020-08-18 10:32:07 +02:00
Joachim Van Herwegen
0545ca121e feat: Add acl support 2020-08-18 10:32:07 +02:00