From 3a4ec487208ef9b85e8b5bfb700ebbff82d6984a Mon Sep 17 00:00:00 2001 From: Ruben Verborgh Date: Wed, 13 Jan 2021 22:01:29 +0100 Subject: [PATCH] refactor: Rename BasicTargetExtractor to OriginalUrlExtractor. --- config/presets/ldp/request-parser.json | 2 +- src/index.ts | 2 +- .../{BasicTargetExtractor.ts => OriginalUrlExtractor.ts} | 6 ++---- test/integration/RequestParser.test.ts | 4 ++-- ...TargetExtractor.test.ts => OriginalUrlExtractor.test.ts} | 6 +++--- 5 files changed, 9 insertions(+), 11 deletions(-) rename src/ldp/http/{BasicTargetExtractor.ts => OriginalUrlExtractor.ts} (84%) rename test/unit/ldp/http/{BasicTargetExtractor.test.ts => OriginalUrlExtractor.test.ts} (94%) diff --git a/config/presets/ldp/request-parser.json b/config/presets/ldp/request-parser.json index a1717518c..07efda2f8 100644 --- a/config/presets/ldp/request-parser.json +++ b/config/presets/ldp/request-parser.json @@ -27,7 +27,7 @@ }, { "@id": "urn:solid-server:default:TargetExtractor", - "@type": "BasicTargetExtractor" + "@type": "OriginalUrlExtractor" } ] } diff --git a/src/index.ts b/src/index.ts index 185f02166..8cd49c65d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -43,9 +43,9 @@ export * from './ldp/http/response/ResponseDescription'; export * from './ldp/http/AcceptPreferenceParser'; export * from './ldp/http/BasicRequestParser'; export * from './ldp/http/BasicResponseWriter'; -export * from './ldp/http/BasicTargetExtractor'; export * from './ldp/http/BodyParser'; export * from './ldp/http/ErrorResponseWriter'; +export * from './ldp/http/OriginalUrlExtractor'; export * from './ldp/http/Patch'; export * from './ldp/http/PreferenceParser'; export * from './ldp/http/RawBodyParser'; diff --git a/src/ldp/http/BasicTargetExtractor.ts b/src/ldp/http/OriginalUrlExtractor.ts similarity index 84% rename from src/ldp/http/BasicTargetExtractor.ts rename to src/ldp/http/OriginalUrlExtractor.ts index 17d400db7..57306aa27 100644 --- a/src/ldp/http/BasicTargetExtractor.ts +++ b/src/ldp/http/OriginalUrlExtractor.ts @@ -6,11 +6,9 @@ import type { ResourceIdentifier } from '../representation/ResourceIdentifier'; import { TargetExtractor } from './TargetExtractor'; /** - * Extracts an identifier from an incoming {@link HttpRequest}. - * Uses URL library for basic parsing. - * TODO: input requires more extensive cleaning/parsing based on headers (see #22). + * Reconstructs the original URL of an incoming {@link HttpRequest}. */ -export class BasicTargetExtractor extends TargetExtractor { +export class OriginalUrlExtractor extends TargetExtractor { public async handle({ request: { url, connection, headers }}: { request: HttpRequest }): Promise { if (!url) { throw new Error('Missing URL'); diff --git a/test/integration/RequestParser.test.ts b/test/integration/RequestParser.test.ts index d5a10c95c..d8db689be 100644 --- a/test/integration/RequestParser.test.ts +++ b/test/integration/RequestParser.test.ts @@ -3,15 +3,15 @@ import arrayifyStream from 'arrayify-stream'; import streamifyArray from 'streamify-array'; import { AcceptPreferenceParser } from '../../src/ldp/http/AcceptPreferenceParser'; import { BasicRequestParser } from '../../src/ldp/http/BasicRequestParser'; -import { BasicTargetExtractor } from '../../src/ldp/http/BasicTargetExtractor'; import { BasicMetadataExtractor } from '../../src/ldp/http/metadata/BasicMetadataExtractor'; import { ContentTypeParser } from '../../src/ldp/http/metadata/ContentTypeParser'; +import { OriginalUrlExtractor } from '../../src/ldp/http/OriginalUrlExtractor'; import { RawBodyParser } from '../../src/ldp/http/RawBodyParser'; import { RepresentationMetadata } from '../../src/ldp/representation/RepresentationMetadata'; import type { HttpRequest } from '../../src/server/HttpRequest'; describe('A BasicRequestParser with simple input parsers', (): void => { - const targetExtractor = new BasicTargetExtractor(); + const targetExtractor = new OriginalUrlExtractor(); const preferenceParser = new AcceptPreferenceParser(); const metadataExtractor = new BasicMetadataExtractor([ new ContentTypeParser() ]); const bodyParser = new RawBodyParser(); diff --git a/test/unit/ldp/http/BasicTargetExtractor.test.ts b/test/unit/ldp/http/OriginalUrlExtractor.test.ts similarity index 94% rename from test/unit/ldp/http/BasicTargetExtractor.test.ts rename to test/unit/ldp/http/OriginalUrlExtractor.test.ts index adc65e814..408e63925 100644 --- a/test/unit/ldp/http/BasicTargetExtractor.test.ts +++ b/test/unit/ldp/http/OriginalUrlExtractor.test.ts @@ -1,7 +1,7 @@ -import { BasicTargetExtractor } from '../../../../src/ldp/http/BasicTargetExtractor'; +import { OriginalUrlExtractor } from '../../../../src/ldp/http/OriginalUrlExtractor'; -describe('A BasicTargetExtractor', (): void => { - const extractor = new BasicTargetExtractor(); +describe('A OriginalUrlExtractor', (): void => { + const extractor = new OriginalUrlExtractor(); it('can handle any input.', async(): Promise => { await expect(extractor.canHandle({} as any)).resolves.toBeUndefined();