UNPKG

http-request-mock

Version:

Intercept & mock http requests issued by XMLHttpRequest, fetch, nodejs https/http module, axios, jquery, superagent, ky, node-fetch, request, got or any other request libraries by intercepting XMLHttpRequest, fetch and nodejs native requests in low level.

54 lines (53 loc) 1.57 kB
import MockItem from '../mocker/mock-item'; import Mocker from '../mocker/mocker'; import { WxResponse } from '../types'; import Base from './base'; export default class WxRequestInterceptor extends Base { private static instance; private wxRequest; constructor(mocker: Mocker, proxyServer?: string); /** * https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html * Intercept wx.request object. */ private intercept; private getRequstTask; /** * Set remote result. * @param {WxRequestOpts} wxRequestOpts * @param {MockItem} mockItem * @param {RequestInfo} requestInfo */ private sendRemoteResult; /** * Get original response * @param {WxRequestOpts} wxRequestOpts */ private getOriginalResponse; /** * Make mock request. * @param {MockItem} mockItem * @param {RequestInfo} requestInfo * @param {WxRequestOpts} wxRequestOpts */ private doMockRequest; /** * Make mock response. * @param {MockItem} mockItem * @param {RequestInfo} requestInfo * @param {WxRequestOpts} wxRequestOpts */ private doMockResponse; /** * Get WX mock response data. * @param {unknown} responseBody * @param {MockItem} mockItem */ getWxResponse(responseBody: unknown, mockItem: MockItem): WxResponse; /** * Call some necessary callbacks if specified. * @param {WxRequestOpts} wxRequestOpts * @param {WxRequestOpts} response */ private sendResult; }