| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 | type ParserType =  | 'REQUEST'  | 'RESPONSE'type RequestMethod =  | 'DELETE'  | 'GET'  | 'HEAD'  | 'POST'  | 'PUT'  | 'CONNECT'  | 'OPTIONS'  | 'TRACE'  | 'COPY'  | 'LOCK'  | 'MKCOL'  | 'MOVE'  | 'PROPFIND'  | 'PROPPATCH'  | 'SEARCH'  | 'UNLOCK'  | 'BIND'  | 'REBIND'  | 'UNBIND'  | 'ACL'  | 'REPORT'  | 'MKACTIVITY'  | 'CHECKOUT'  | 'MERGE'  | 'M-SEARCH'  | 'NOTIFY'  | 'SUBSCRIBE'  | 'UNSUBSCRIBE'  | 'PATCH'  | 'PURGE'  | 'MKCALENDAR'  | 'LINK'  | 'UNLINK'  | stringtype StateHeaderKey =  | 'REQUEST_LINE'  | 'RESPONSE_LINE'  | 'HEADER'type StateFinishAllowedKey =  | 'REQUEST_LINE'  | 'RESPONSE_LINE'  | 'BODY_RAW'type HeaderObject = Array<string>type noop<T = void> = ()=> Ttype HeaderInfo<HEADER = HeaderObject> = {  versionMajor: number  versionMinor: number  headers: HEADER  method: number  url: string  statusCode: number  statusMessage: string  upgrade: boolean  shouldKeepAlive: boolean}export type OnHeadersCompleteParser<HEADER = HeaderObject, Mode_0_12 extends boolean = true> = Mode_0_12 extends true  ? (info: HeaderInfo<HEADER>)=> number | void  : (    versionMajor: number,    versionMinor: number,    headers: HEADER,    method: number,    url: string,    statusCode: number,    statusMessage: string,    upgrade: boolean,    shouldKeepAlive: boolean,  )=> number | voidexport type OnBodyParser = (chunk: Buffer, offset: number, length: number)=> void// Only called in the slow case where slow means// that the request headers were either fragmented// across multiple TCP packets or too large to be// processed in a single run. This method is also// called to process trailing HTTP headers.export type OnHeadersParser = (headers: string[], url: string)=> voiddeclare class HTTPParserJS {  initialize(type: ParserType, async_resource?: unknown): void  // Some handler stubs, needed for compatibility  [HTTPParser.kOnHeaders]: OnHeadersParser  [HTTPParser.kOnHeadersComplete]: OnHeadersCompleteParser  [HTTPParser.kOnBody]: OnBodyParser  [HTTPParser.kOnMessageComplete]: noop  /**   * Max number of bytes that will be parsed as headers, 80kb by default   * @default 81920   */  maxHeaderSize: number  reinitialize: HTTPParserConstructor  close: noop  pause: noop  resume: noop  free: noop  private _compatMode0_11: false | boolean  getAsyncId: noop<0>  execute(chunk: Buffer, start?: number, length?: number): number | Error  finish(): void | Error  // These three methods are used for an internal speed optimization, and it also  // works if theses are noops. Basically consume() asks us to read the bytes  // ourselves, but if we don't do it we get them through execute().  consume: noop  unconsume: noop  getCurrentBuffer: noop  /**   * For correct error handling - see HTTPParser#execute   * @example this.userCall()(userFunction('arg'));   */  userCall<T = unknown>(): (ret?: T)=> T  private nextRequest: noop  private consumeLine: noop<string|void>  parseHeader(line: string, headers: string[]): void  private REQUEST_LINE: noop  private RESPONSE_LINE: noop  shouldKeepAlive(): boolean  /**   * For older versions of node (v6.x and older?), that return `skipBody=1` or `skipBody=true`, need this `return true;` if it's an upgrade request.   */  private HEADER(): void | boolean  private BODY_CHUNKHEAD(): void  private BODY_CHUNK(): void  private BODY_CHUNKEMPTYLINE(): void  private BODY_CHUNKTRAILERS(): void  private BODY_RAW(): void  private BODY_SIZED(): void  get onHeaders(): OnHeadersParser  set onHeaders(to: OnHeadersParser)  get onHeadersComplete(): OnHeadersCompleteParser  set onHeadersComplete(to: OnHeadersCompleteParser)  get onBody(): OnBodyParser  set onBody(to: OnBodyParser)  get onMessageComplete(): noop  set onMessageComplete(to: noop)}interface HTTPParserConstructor extends Function {  new(type?: ParserType): HTTPParserJS  (type?: ParserType): void  readonly prototype: HTTPParserJS  readonly REQUEST: 'REQUEST'  readonly RESPONSE: 'RESPONSE'  readonly methods: RequestMethod[]  encoding: 'ascii'|string  /**   * maxHeaderSize (in bytes) is configurable, but 80kb by default;   * @default 80 * 1024 = 80kb   */  maxHeaderSize: 81920|number  // Note: *not* starting with kOnHeaders=0 line the Node parser, because any  // newly added constants (kOnTimeout in Node v12.19.0) will overwrite 0!  readonly kOnHeaders: 1  readonly kOnHeadersComplete: 2  readonly kOnBody: 3  readonly kOnMessageComplete: 4  kOnExecute(): void}export const HTTPParser: HTTPParserConstructorexport const methods: RequestMethod[]
 |