feat: Support LDN inbox headers

* chore: add inbox mapping to metadatawriter config

* fix: correct inbox link rel

* feat: make LinkTypeParser reuseable to fit all link headers

* feat: minor code optimization

* feat: cleaned up metadata parser config

* feat: further cleanup of metadata parser config

* feat: adapted LinkMetadataParser to take a list to be in line with LinkRelMetadataWriter implementation

* feat: minor changes to be in line with other classes and code improvements

Co-authored-by: Wouter Termont <woutermont@gmail.com>
This commit is contained in:
Arthur Joppart
2021-08-25 12:48:13 +02:00
committed by GitHub
parent ff200e22a9
commit 759112bc04
8 changed files with 72 additions and 13 deletions

View File

@@ -1,10 +1,10 @@
import { LinkTypeParser } from '../../../../../src/ldp/http/metadata/LinkTypeParser';
import { LinkRelParser } from '../../../../../src/ldp/http/metadata/LinkRelParser';
import { RepresentationMetadata } from '../../../../../src/ldp/representation/RepresentationMetadata';
import type { HttpRequest } from '../../../../../src/server/HttpRequest';
import { RDF } from '../../../../../src/util/Vocabularies';
describe('A LinkTypeParser', (): void => {
const parser = new LinkTypeParser();
describe('A LinkParser', (): void => {
const parser = new LinkRelParser({ type: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' });
let request: HttpRequest;
let metadata: RepresentationMetadata;
@@ -18,7 +18,7 @@ describe('A LinkTypeParser', (): void => {
expect(metadata.quads()).toHaveLength(0);
});
it('stores link headers with rel = type as metadata.', async(): Promise<void> => {
it('stores link headers with rel matching the given value as metadata.', async(): Promise<void> => {
request.headers.link = '<http://test.com/type>;rel="type"';
await expect(parser.handle({ request, metadata })).resolves.toBeUndefined();
expect(metadata.quads()).toHaveLength(1);