1.1.2Updated a month ago
import { Permissions } from "./permissions.ts";

export class VP_Request extends Request {
  permissions: Permissions = Permissions.Blank;
  should_continue = true
  readonly pathname: string
  readonly path_parts: string[] = []
  params: Record<string, string> = {}
  readonly is_deno: boolean;
  token?: string;

  constructor(request: Request) {
    super(request);
    this.pathname = new URL(request.url).pathname;
    this.path_parts = this.pathname.replace(/^\//, '').split('/');
    this.is_deno = (request.headers.get('user-agent')?.toLowerCase() ?? '').startsWith('deno');

    const authorization = request.headers.get('Authorization');
    if(authorization && authorization.indexOf('Bearer') == 0) {
      this.token = authorization.replace('Bearer ', '');
    }
  }
}