{"version":3,"sources":["../../../../src/server/requests-auth-methods/apiKeys.ts"],"sourcesContent":["import type { IncomingHttpHeaders } from 'node:http2'\n\nimport { BaseRequestAuthMethod } from './base'\nimport { NotAuthenticatedError } from '../../errors'\n\nexport abstract class BaseApiKeyRequestAuthMethod<T extends { id: string }> extends BaseRequestAuthMethod<T> {\n\tprotected readonly headerName: string\n\tprotected abstract verify(apiKey: string): Promise<T>\n\n\tconstructor(headerName: string) {\n\t\tsuper()\n\t\tthis.headerName = headerName\n\t}\n\n\tasync parse(headers: IncomingHttpHeaders) {\n\t\tconst headerValue = headers[this.headerName]\n\t\tif (!headerValue || typeof headerValue !== 'string') throw new NotAuthenticatedError()\n\t\treturn this.verify(headerValue)\n\t}\n\n\trouteSecuritySchemeName() {\n\t\treturn this.headerName\n\t}\n}\n"],"mappings":"AAEA,SAAS,6BAA6B;AACtC,SAAS,6BAA6B;AAE/B,MAAe,oCAA8D,sBAAyB;AAAA,EACzF;AAAA,EAGnB,YAAY,YAAoB;AAC/B,UAAM;AACN,SAAK,aAAa;AAAA,EACnB;AAAA,EAEA,MAAM,MAAM,SAA8B;AACzC,UAAM,cAAc,QAAQ,KAAK,UAAU;AAC3C,QAAI,CAAC,eAAe,OAAO,gBAAgB,SAAU,OAAM,IAAI,sBAAsB;AACrF,WAAO,KAAK,OAAO,WAAW;AAAA,EAC/B;AAAA,EAEA,0BAA0B;AACzB,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}