23 lines
549 B
TypeScript
23 lines
549 B
TypeScript
export type HttpMethod = "POST" | "GET" | "PUT" | "DELETE";
|
|
|
|
export type RouteDefinition = {
|
|
pattern: RegExp;
|
|
method: HttpMethod;
|
|
};
|
|
|
|
export default class StoccaTreRequest {
|
|
constructor(
|
|
public method: HttpMethod,
|
|
public route: string,
|
|
public body: string | null,
|
|
) {}
|
|
|
|
match(route: RouteDefinition): RegExpExecArray | null {
|
|
const patternResult = route.pattern.exec(this.route);
|
|
if (route.method !== this.method) {
|
|
return null;
|
|
}
|
|
return patternResult;
|
|
}
|
|
}
|