refactor: Rename BasePermissionsExtractor to MethodPermissionsExtractor

This commit is contained in:
Ruben Verborgh 2020-09-04 22:48:43 +02:00
parent c808dfeff0
commit ba8b3575b0
6 changed files with 11 additions and 11 deletions

View File

@ -6,7 +6,7 @@
"@type": "CompositeAsyncHandler", "@type": "CompositeAsyncHandler",
"CompositeAsyncHandler:_handlers": [ "CompositeAsyncHandler:_handlers": [
{ {
"@type": "BasePermissionsExtractor" "@type": "MethodPermissionsExtractor"
}, },
{ {
"@type": "SparqlPatchPermissionsExtractor" "@type": "SparqlPatchPermissionsExtractor"

View File

@ -43,7 +43,7 @@ export * from './src/ldp/operations/ResponseDescription';
// LDP/Permissions // LDP/Permissions
export * from './src/ldp/permissions/PermissionSet'; export * from './src/ldp/permissions/PermissionSet';
export * from './src/ldp/permissions/PermissionsExtractor'; export * from './src/ldp/permissions/PermissionsExtractor';
export * from './src/ldp/permissions/BasePermissionsExtractor'; export * from './src/ldp/permissions/MethodPermissionsExtractor';
export * from './src/ldp/permissions/SparqlPatchPermissionsExtractor'; export * from './src/ldp/permissions/SparqlPatchPermissionsExtractor';
// LDP/Representation // LDP/Representation

View File

@ -7,7 +7,7 @@ import { PermissionsExtractor } from './PermissionsExtractor';
* Generates permissions for the base set of methods that always require the same permissions. * Generates permissions for the base set of methods that always require the same permissions.
* Specifically: GET, HEAD, POST, PUT and DELETE. * Specifically: GET, HEAD, POST, PUT and DELETE.
*/ */
export class BasePermissionsExtractor extends PermissionsExtractor { export class MethodPermissionsExtractor extends PermissionsExtractor {
public async canHandle(input: Operation): Promise<void> { public async canHandle(input: Operation): Promise<void> {
if (!/^(?:HEAD|GET|POST|PUT|DELETE)$/u.test(input.method)) { if (!/^(?:HEAD|GET|POST|PUT|DELETE)$/u.test(input.method)) {
throw new UnsupportedHttpError(`Unsupported method: ${input.method}`); throw new UnsupportedHttpError(`Unsupported method: ${input.method}`);

View File

@ -19,7 +19,7 @@ import { Operation } from '../../src/ldp/operations/Operation';
import { PatchOperationHandler } from '../../src/ldp/operations/PatchOperationHandler'; import { PatchOperationHandler } from '../../src/ldp/operations/PatchOperationHandler';
import { PostOperationHandler } from '../../src/ldp/operations/PostOperationHandler'; import { PostOperationHandler } from '../../src/ldp/operations/PostOperationHandler';
import { ResponseDescription } from '../../src/ldp/operations/ResponseDescription'; import { ResponseDescription } from '../../src/ldp/operations/ResponseDescription';
import { BasePermissionsExtractor } from '../../src/ldp/permissions/BasePermissionsExtractor'; import { MethodPermissionsExtractor } from '../../src/ldp/permissions/MethodPermissionsExtractor';
import { SparqlPatchPermissionsExtractor } from '../../src/ldp/permissions/SparqlPatchPermissionsExtractor'; import { SparqlPatchPermissionsExtractor } from '../../src/ldp/permissions/SparqlPatchPermissionsExtractor';
import { Representation } from '../../src/ldp/representation/Representation'; import { Representation } from '../../src/ldp/representation/Representation';
import { HttpRequest } from '../../src/server/HttpRequest'; import { HttpRequest } from '../../src/server/HttpRequest';
@ -42,7 +42,7 @@ describe('An integrated AuthenticatedLdpHandler', (): void => {
}); });
const credentialsExtractor = new UnsecureWebIdExtractor(); const credentialsExtractor = new UnsecureWebIdExtractor();
const permissionsExtractor = new BasePermissionsExtractor(); const permissionsExtractor = new MethodPermissionsExtractor();
const authorizer = new AllowEverythingAuthorizer(); const authorizer = new AllowEverythingAuthorizer();
const store = new InMemoryResourceStore(new RuntimeConfig({ base: 'http://test.com/' })); const store = new InMemoryResourceStore(new RuntimeConfig({ base: 'http://test.com/' }));
@ -111,7 +111,7 @@ describe('An integrated AuthenticatedLdpHandler', (): void => {
const credentialsExtractor = new UnsecureWebIdExtractor(); const credentialsExtractor = new UnsecureWebIdExtractor();
const permissionsExtractor = new CompositeAsyncHandler([ const permissionsExtractor = new CompositeAsyncHandler([
new BasePermissionsExtractor(), new MethodPermissionsExtractor(),
new SparqlPatchPermissionsExtractor(), new SparqlPatchPermissionsExtractor(),
]); ]);
const authorizer = new AllowEverythingAuthorizer(); const authorizer = new AllowEverythingAuthorizer();

View File

@ -17,7 +17,7 @@ import { Operation } from '../../src/ldp/operations/Operation';
import { PostOperationHandler } from '../../src/ldp/operations/PostOperationHandler'; import { PostOperationHandler } from '../../src/ldp/operations/PostOperationHandler';
import { PutOperationHandler } from '../../src/ldp/operations/PutOperationHandler'; import { PutOperationHandler } from '../../src/ldp/operations/PutOperationHandler';
import { ResponseDescription } from '../../src/ldp/operations/ResponseDescription'; import { ResponseDescription } from '../../src/ldp/operations/ResponseDescription';
import { BasePermissionsExtractor } from '../../src/ldp/permissions/BasePermissionsExtractor'; import { MethodPermissionsExtractor } from '../../src/ldp/permissions/MethodPermissionsExtractor';
import { PermissionSet } from '../../src/ldp/permissions/PermissionSet'; import { PermissionSet } from '../../src/ldp/permissions/PermissionSet';
import { QuadToTurtleConverter } from '../../src/storage/conversion/QuadToTurtleConverter'; import { QuadToTurtleConverter } from '../../src/storage/conversion/QuadToTurtleConverter';
import { TurtleToQuadConverter } from '../../src/storage/conversion/TurtleToQuadConverter'; import { TurtleToQuadConverter } from '../../src/storage/conversion/TurtleToQuadConverter';
@ -88,7 +88,7 @@ describe('A server with authorization', (): void => {
const convertingStore = new RepresentationConvertingStore(store, converter); const convertingStore = new RepresentationConvertingStore(store, converter);
const credentialsExtractor = new UnsecureWebIdExtractor(); const credentialsExtractor = new UnsecureWebIdExtractor();
const permissionsExtractor = new BasePermissionsExtractor(); const permissionsExtractor = new MethodPermissionsExtractor();
const authorizer = new WebAclAuthorizer( const authorizer = new WebAclAuthorizer(
new UrlBasedAclManager(), new UrlBasedAclManager(),
new UrlContainerManager(new RuntimeConfig({ base: 'http://test.com/' })), new UrlContainerManager(new RuntimeConfig({ base: 'http://test.com/' })),

View File

@ -1,9 +1,9 @@
import { Operation } from '../../../../src/ldp/operations/Operation'; import { Operation } from '../../../../src/ldp/operations/Operation';
import { BasePermissionsExtractor } from '../../../../src/ldp/permissions/BasePermissionsExtractor'; import { MethodPermissionsExtractor } from '../../../../src/ldp/permissions/MethodPermissionsExtractor';
import { UnsupportedHttpError } from '../../../../src/util/errors/UnsupportedHttpError'; import { UnsupportedHttpError } from '../../../../src/util/errors/UnsupportedHttpError';
describe('A BasePermissionsExtractor', (): void => { describe('A MethodPermissionsExtractor', (): void => {
const extractor = new BasePermissionsExtractor(); const extractor = new MethodPermissionsExtractor();
it('can handle HEAD/GET/POST/PUT/DELETE.', async(): Promise<void> => { it('can handle HEAD/GET/POST/PUT/DELETE.', async(): Promise<void> => {
await expect(extractor.canHandle({ method: 'HEAD' } as Operation)).resolves.toBeUndefined(); await expect(extractor.canHandle({ method: 'HEAD' } as Operation)).resolves.toBeUndefined();