happy-dom
Version: 
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.
57 lines • 2.36 kB
TypeScript
import Request from '../Request.cjs';
import BrowserWindow from '../../window/BrowserWindow.cjs';
import Response from '../Response.cjs';
import ISyncResponse from './ISyncResponse.cjs';
export default interface IFetchInterceptor {
    /**
     * Hook dispatched before making an async request.
     * It can be used for modifying the request, providing a response without making a request or for logging.
     *
     * @param context Contains the request and the window from where the request was made.
     *
     * @returns Promise that can resolve to a response to be used instead of sending out the response.
     */
    beforeAsyncRequest?: (context: {
        request: Request;
        window: BrowserWindow;
    }) => Promise<Response | void>;
    /**
     * Hook dispatched before making an sync request.
     * It can be used for modifying the request, providing a response without making a request or for logging.
     *
     * @param context Contains the request and the window from where the request was made.
     *
     * @returns Promise that can resolve to a response to be used instead of sending out the response.
     */
    beforeSyncRequest?: (context: {
        request: Request;
        window: BrowserWindow;
    }) => ISyncResponse | void;
    /**
     * Hook dispatched after receiving an async response.
     * It can be used for modifying or replacing the response and logging.
     *
     * @param context Contains the request, response and the window from where the request was made.
     *
     * @returns Promise that can resolve to a response to be used instead of sending out the response.
     */
    afterAsyncResponse?: (context: {
        request: Request;
        response: Response;
        window: BrowserWindow;
    }) => Promise<Response | void>;
    /**
     * Hook dispatched after receiving a sync response.
     * It can be used for modifying or replacing the response and logging
     *
     * @param context Contains the request, response and the window from where the request was made.
     *
     * @returns Promise that can resolve to a response to be used instead of sending out the response.
     */
    afterSyncResponse?: (context: {
        request: Request;
        response: ISyncResponse;
        window: BrowserWindow;
    }) => ISyncResponse | void;
}
//# sourceMappingURL=IFetchInterceptor.d.ts.map