Thomas Dupont e2e2d0864f feat: add a Redis based Read-Write Locker
refactor: more elegant way of providing default attemptSettings to constructor

style(jsdoc): rewording of jsdoc comment

fix: RegExp(/regex/) => /regex/

fix: Replace Error with InternalServerError

docs: jsdoc for RedisReadWriteLocker class

feat: make RedisReadWriteLocker a ResourceLocker too

test: coverage back to 100%

refactor: linting fix

style(jsdoc): Add explanation to tryRedisFn() method

refactor: remove RedisResourceLocker

fix: bug in lua script

chore(deps): update ioredis, remove redlock

refactor: removed RedisResourceLocker in favor of generic RedisLocker class

test: add redis lua scripts tests and integrate all 3 redis integration tests in 1

refactor: remove .vscode folder from index

refactor: Add some typing and  change redis references to Redis in comments

refactor: more changes after PR review

refactor: remove redis.json

refactor: rename redis-rw.json to redis.json

docs: added readme and release notes
2022-04-19 13:52:31 +02:00

47 lines
1.9 KiB
Markdown

# Util
Various utility related options.
## Auxiliary
Exports an object that contains a list of all auxiliary resources that need to be supported.
In case you create a new auxiliary strategy you can just add it to this list.
* *acl*: Default list with only support for acl auxiliary resources.
* *no-acl*: An empty list which can be added to.
## Identifiers
How identifiers should be interpreted.
This is mostly relevant when creating pods and/or using a file-based backend.
* *subdomain*: New pod identifier would be `http://alice.test.com/`.
File path of `http://alice.test.com/foo` would be `/alice/foo`.
* *suffix*: New pod identifier would be `http://test.com/alice`.
Requests to subdomain identifiers would be rejected.
## Index
This can be used to provide different behaviour for index files.
This is mostly relevant for user interfaces.
* *default*: No special support.
* *example*: An example of how this could be configured.
If this is needed the best solution is usually to not import anything here
and have the index setup in the root config.
## Logging
Which logger to use.
* *no-logging*: Disables all logging.
* *winston*: Uses the winston logger.
## Representation-conversion
Used for converting from one content type to another when needed.
When a new content type needs to be supported, this can be done by adding a corresponding converter
to the ChainedConverter list.
* *default*: The default conversion setup which supports most RDF formats.
## Resource-locker
Which locking mechanism to use to for example prevent 2 write simultaneous write requests.
* *debug-void*: No locking mechanism, does not prevent simultaneous read/writes.
* *memory*: Uses an in-memory locking mechanism.
* *redis*: Uses a Redis store for locking that supports threadsafe read-write locking.
## Variables
Various variables used by other options.
These can usually be set through CLI parameters.
* *default*: The default list of variables.