Skip to content

Commit

Permalink
chore: clean unused code and deps
Browse files Browse the repository at this point in the history
  • Loading branch information
GrinZero committed Jun 23, 2024
1 parent 02b4de6 commit 0a14e52
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 71 deletions.
1 change: 0 additions & 1 deletion packages/network-debugger/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@
"dependencies": {
"iconv-lite": "^0.6.3",
"open": "^8.4.2",
"stack-trace": "0.0.10",
"ws": "^8.17.0",
"zlib": "^1.0.5"
}
Expand Down
119 changes: 51 additions & 68 deletions packages/network-debugger/src/core/request.ts
Original file line number Diff line number Diff line change
@@ -1,43 +1,39 @@
import { RequestOptions, IncomingMessage, ClientRequest } from "http";
import { RequestDetail } from "../common";
import { MainProcess } from "./fork";
import { get } from "stack-trace";
import { RequestOptions, IncomingMessage, ClientRequest } from 'http'
import { RequestDetail } from '../common'
import { MainProcess } from './fork'

export interface RequestFn {
(
options: RequestOptions | string | URL,
callback?: (res: IncomingMessage) => void
): ClientRequest;
(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest
(
url: string | URL,
options: RequestOptions,
callback?: (res: IncomingMessage) => void
): ClientRequest;
): ClientRequest
}

function proxyClientRequestFactory(
actualRequest: ClientRequest,
requestDetail: RequestDetail,
mainProcess: MainProcess
) {
const actualFn = actualRequest.write;
const actualFn = actualRequest.write
actualRequest.write = (data: any) => {
try {
requestDetail.requestData = JSON.parse(data.toString());
requestDetail.requestData = JSON.parse(data.toString())
} catch (err) {
requestDetail.requestData = data;
requestDetail.requestData = data
}

return actualFn.bind(actualRequest)(data);
};
return actualFn.bind(actualRequest)(data)
}

actualRequest.on("error", () => {
requestDetail.responseStatusCode = 0;
requestDetail.requestEndTime = new Date().getTime();
mainProcess.endRequest(requestDetail);
});
actualRequest.on('error', () => {
requestDetail.responseStatusCode = 0
requestDetail.requestEndTime = new Date().getTime()
mainProcess.endRequest(requestDetail)
})

return actualRequest;
return actualRequest
}

function proxyCallbackFactory(
Expand All @@ -46,13 +42,13 @@ function proxyCallbackFactory(
mainProcess: MainProcess
) {
return (response: IncomingMessage) => {
requestDetail.responseHeaders = response.headers;
if (typeof actualCallBack === "function") {
actualCallBack(response);
requestDetail.responseHeaders = response.headers
if (typeof actualCallBack === 'function') {
actualCallBack(response)
}
mainProcess.responseRequest(requestDetail.id, response);
};

mainProcess.responseRequest(requestDetail.id, response)
}
}

export function requestProxyFactory(
Expand All @@ -63,67 +59,54 @@ export function requestProxyFactory(
) {
const fn: RequestFn = (arg1: any, arg2?: any, arg3?: any) => {
// #region resolve arguments
let url: string | URL | undefined;
let options: RequestOptions | string | URL | undefined;
let callback: ((res: IncomingMessage) => void) | undefined;
let url: string | URL | undefined
let options: RequestOptions | string | URL | undefined
let callback: ((res: IncomingMessage) => void) | undefined

if (typeof arg1 === "string" || arg1 instanceof URL) {
if (typeof arg1 === 'string' || arg1 instanceof URL) {
// Signature: (url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest;
url = arg1;
options = arg2;
callback = arg3;
url = arg1
options = arg2
callback = arg3
} else {
// Signature: (options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest;
options = arg1;
callback = arg2;
options = arg1
callback = arg2
}

const requestDetail = new RequestDetail();
const requestDetail = new RequestDetail()

if (typeof url === "string") {
requestDetail.url = url;
requestDetail.method = "GET";
if (typeof url === 'string') {
requestDetail.url = url
requestDetail.method = 'GET'
} else if (url instanceof URL) {
requestDetail.url = url.toString();
requestDetail.method = "GET";
} else if (
options &&
typeof options !== "string" &&
!(options instanceof URL)
) {
const connectionType = isHttps ? "https" : "http";
requestDetail.url = `${connectionType}://${
options.hostname || options.host
}${options.path}`;
requestDetail.method = options.method;
requestDetail.requestHeaders = options.headers;
requestDetail.url = url.toString()
requestDetail.method = 'GET'
} else if (options && typeof options !== 'string' && !(options instanceof URL)) {
const connectionType = isHttps ? 'https' : 'http'
requestDetail.url = `${connectionType}://${options.hostname || options.host}${options.path}`
requestDetail.method = options.method
requestDetail.requestHeaders = options.headers
}

// #endregion
mainProcess.registerRequest(requestDetail);
const proxyCallback = proxyCallbackFactory(
callback,
requestDetail,
mainProcess
);
mainProcess.registerRequest(requestDetail)
const proxyCallback = proxyCallbackFactory(callback, requestDetail, mainProcess)

if (typeof arg1 === "string" || arg1 instanceof URL) {
if (typeof arg1 === 'string' || arg1 instanceof URL) {
// Call actualRequestHandler with 3 parameters
const request: ClientRequest = actualRequestHandler(
url!,
options as RequestOptions,
proxyCallback
);
return proxyClientRequestFactory(request, requestDetail, mainProcess);
)
return proxyClientRequestFactory(request, requestDetail, mainProcess)
} else {
// Call actualRequestHandler with 2 parameters
const request: ClientRequest = actualRequestHandler(
options as RequestOptions,
proxyCallback
);
return proxyClientRequestFactory(request, requestDetail, mainProcess);
const request: ClientRequest = actualRequestHandler(options as RequestOptions, proxyCallback)
return proxyClientRequestFactory(request, requestDetail, mainProcess)
}
};
}

return fn;
return fn
}
2 changes: 0 additions & 2 deletions packages/network-debugger/vite-env.d.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
/// <reference types="vite/client" />

declare module "stack-trace";

0 comments on commit 0a14e52

Please sign in to comment.