@hom3chuk/tektek
Version:
A library for detecting technologies used within HTTP Archive (HAR)
117 lines (116 loc) • 3.3 kB
TypeScript
export declare const getRoot: (har: HAR) => Entry | null;
export declare const getRootBody: (har: HAR) => string | null;
export declare const getRootHeaders: (har: HAR) => NameValue[] | null;
export declare const rootBodyContains: (har: HAR, value: string) => boolean;
export declare const rootHeaderEquals: (har: HAR, header: string, value: string) => boolean;
export declare const anyResourceHeaderEquals: (har: HAR, header: string, value: string) => boolean;
export declare const anyResourceHeaderContains: (har: HAR, header: string, value: string) => boolean;
export declare const anyCssResourceContentContains: (har: HAR, value: string, searchLimit?: number | undefined) => boolean;
export declare const anyJavascriptResourceContentContains: (har: HAR, value: string, searchLimit?: number | undefined) => boolean;
export declare const anyResourceUrlContains: (har: HAR, value: string) => boolean;
export declare const anyResourceUrlRegex: (har: HAR, value: RegExp) => boolean;
export declare const rootHeaderContains: (har: HAR, header: string, value: string) => boolean;
export declare const rootAnyHeaderContains: (har: HAR, value: string) => boolean;
export declare const rootHeaderExists: (har: HAR, header: string) => boolean;
export declare const anyResourceHeaderExists: (har: HAR, header: string) => boolean;
export declare const anyResourceAnyHeadersContain: (har: HAR, value: string) => boolean;
type NameValue = {
name: string;
value: string;
};
type Request = {
method: string;
url: string;
httpVersion: string;
cookies: NameValue[];
headers: NameValue[];
queryString: NameValue[] | [];
headersSize: number;
bodySize: number;
};
type Content = {
size: number;
mimeType: string;
text: string;
};
type Response = {
status: number;
statusText: string;
httpVersion: string;
cookies: NameValue[];
headers: NameValue[];
redirectURL: string;
headersSize: number;
bodySize: number;
_transferSize?: number;
content: Content;
};
type Creator = {
name: string;
version: string;
comment?: string;
};
type PageTimings = {
onContentLoad: number;
onLoad: number;
};
type Page = {
id: string;
title: string;
startedDateTime: string;
pageTimings: PageTimings;
};
type EntryTimings = {
blocked: number;
dns: number;
connect: number;
send: number;
wait: number;
receive: number;
ssl: number;
};
type Initiator = {
type: string;
};
type Entry = {
pageref: string;
startedDateTime: string;
time: number;
request: Request;
response: Response;
cache: {};
_fromDiskCache?: false;
timings: EntryTimings;
_securityState?: string;
serverIPAddress: string;
connection: string;
_initiator?: Initiator;
_priority?: string;
_resourceType?: string;
_connectionId?: string;
};
type Browser = {
name: string;
version: string;
};
type Log = {
version: string;
browser?: Browser;
creator: Creator;
pages: Page[];
entries: Entry[];
};
export type HAR = {
log: Log;
};
export type Options = {
asap?: boolean;
foundOnly?: boolean;
};
export type DetectorResult = {
detected: boolean;
name: string;
reasons: string[];
version?: string;
};
export {};