// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
import { Disposable } from "vscode";
import { RequestParams } from "../clientDevice";
import { Request, Response, PartialResponse } from "../networkMessageData";
import { RequestBodyFormatter } from "../requestBodyFormatters/requestBodyFormatter";
import { OutputChannelLogger } from "../../log/OutputChannelLogger";
export enum InspectorViewType {
console,
}
export abstract class InspectorView implements Disposable {
protected requestBodyDecoder: RequestBodyFormatter;
protected requests: Map<string, Request>;
protected responses: Map<string, Response>;
protected partialResponses: Map<string, PartialResponse>;
protected isInitialized: boolean;
protected logger: OutputChannelLogger;
constructor(logger: OutputChannelLogger) {
this.logger = logger;
this.requests = new Map();
this.responses = new Map();
this.partialResponses = new Map();
this.isInitialized = false;
this.requestBodyDecoder = new RequestBodyFormatter(this.logger);
}
public dispose(): void {}
public abstract init(): Promise<void>;
public abstract handleMessage(data: RequestParams): void;
}microsoft/vscode-react-native
Publicmirrored from https://github.com/microsoft/vscode-react-nativeAvailable
src/extension/networkInspector/views/inspectorView.ts
35lines · modepreview