UNPKG

@mirawision/chrome-api

Version:

A comprehensive TypeScript library for Chrome Extension API, providing type-safe wrappers and utilities for bookmarks, commands, context menus, cookies, downloads, storage, notifications, runtime, scripting, and side panel functionalities.

45 lines (44 loc) 3.83 kB
/// <reference types="chrome" /> interface RequestFilter { urls: string[]; types?: chrome.webRequest.ResourceType[]; tabId?: number; windowId?: number; } interface BlockingResponse { cancel?: boolean; redirectUrl?: string; requestHeaders?: chrome.webRequest.HttpHeader[]; responseHeaders?: chrome.webRequest.HttpHeader[]; authCredentials?: { username: string; password: string; }; upgradeToSecure?: boolean; } interface UploadData { bytes?: ArrayBuffer; file?: string; } declare class WebRequest { static addBeforeRequestListener(filter: RequestFilter, callback: (details: chrome.webRequest.WebRequestBodyDetails) => BlockingResponse | undefined, extraInfoSpec?: ('blocking' | 'requestBody' | 'extraHeaders')[]): void; static addBeforeSendHeadersListener(filter: RequestFilter, callback: (details: chrome.webRequest.WebRequestHeadersDetails) => BlockingResponse | undefined, extraInfoSpec?: ('blocking' | 'requestHeaders' | 'extraHeaders')[]): void; static addSendHeadersListener(filter: RequestFilter, callback: (details: chrome.webRequest.WebRequestHeadersDetails) => void, extraInfoSpec?: ('requestHeaders' | 'extraHeaders')[]): void; static addHeadersReceivedListener(filter: RequestFilter, callback: (details: chrome.webRequest.WebResponseHeadersDetails) => BlockingResponse | undefined, extraInfoSpec?: ('blocking' | 'responseHeaders' | 'extraHeaders')[]): void; static addAuthRequiredListener(filter: RequestFilter, callback: (details: chrome.webRequest.WebAuthenticationChallengeDetails, callback?: (response: BlockingResponse) => void) => BlockingResponse | undefined, extraInfoSpec?: ('blocking' | 'asyncBlocking' | 'responseHeaders' | 'extraHeaders')[]): void; static addResponseStartedListener(filter: RequestFilter, callback: (details: chrome.webRequest.WebResponseCacheDetails) => void, extraInfoSpec?: ('responseHeaders' | 'extraHeaders')[]): void; static addBeforeRedirectListener(filter: RequestFilter, callback: (details: chrome.webRequest.WebRedirectionResponseDetails) => void, extraInfoSpec?: ('responseHeaders' | 'extraHeaders')[]): void; static addCompletedListener(filter: RequestFilter, callback: (details: chrome.webRequest.WebResponseCacheDetails) => void, extraInfoSpec?: ('responseHeaders' | 'extraHeaders')[]): void; static addErrorOccurredListener(filter: RequestFilter, callback: (details: chrome.webRequest.WebResponseErrorDetails) => void): void; static removeBeforeRequestListener(callback: (details: chrome.webRequest.WebRequestBodyDetails) => BlockingResponse | undefined): void; static removeBeforeSendHeadersListener(callback: (details: chrome.webRequest.WebRequestHeadersDetails) => BlockingResponse | undefined): void; static removeSendHeadersListener(callback: (details: chrome.webRequest.WebRequestHeadersDetails) => void): void; static removeHeadersReceivedListener(callback: (details: chrome.webRequest.WebResponseHeadersDetails) => BlockingResponse | undefined): void; static removeAuthRequiredListener(callback: (details: chrome.webRequest.WebAuthenticationChallengeDetails, callback?: (response: BlockingResponse) => void) => BlockingResponse | undefined): void; static removeResponseStartedListener(callback: (details: chrome.webRequest.WebResponseCacheDetails) => void): void; static removeBeforeRedirectListener(callback: (details: chrome.webRequest.WebRedirectionResponseDetails) => void): void; static removeCompletedListener(callback: (details: chrome.webRequest.WebResponseCacheDetails) => void): void; static removeErrorOccurredListener(callback: (details: chrome.webRequest.WebResponseErrorDetails) => void): void; static handlerBehaviorChanged(): Promise<void>; } export { WebRequest, RequestFilter, BlockingResponse, UploadData };