UNPKG

@yuebai008/cli

Version:

Command line interface for rapid qg-minigame development

1 lines 8.64 kB
import*as Common from"../../core/common/common.js";import*as i18n from"../../core/i18n/i18n.js";import*as Root from"../../core/root/root.js";import*as SDK from"../../core/sdk/sdk.js";import*as NetworkForward from"../../panels/network/forward/forward.js";import*as IconButton from"../../ui/components/icon_button/icon_button.js";import*as LegacyWrapper from"../../ui/components/legacy_wrapper/legacy_wrapper.js";import*as UI from"../../ui/legacy/legacy.js";import*as NetworkComponents from"./components/components.js";import{EventSourceMessagesView}from"./EventSourceMessagesView.js";import{RequestCookiesView}from"./RequestCookiesView.js";import{RequestHeadersView}from"./RequestHeadersView.js";import{RequestPayloadView}from"./RequestPayloadView.js";import{RequestInitiatorView}from"./RequestInitiatorView.js";import{RequestPreviewView}from"./RequestPreviewView.js";import{RequestResponseView}from"./RequestResponseView.js";import{RequestTimingView}from"./RequestTimingView.js";import{ResourceWebSocketFrameView}from"./ResourceWebSocketFrameView.js";const UIStrings={headers:"Headers",payload:"Payload",messages:"Messages",websocketMessages:"WebSocket messages",eventstream:"EventStream",preview:"Preview",responsePreview:"Response preview",signedexchangeError:"SignedExchange error",response:"Response",rawResponseData:"Raw response data",initiator:"Initiator",requestInitiatorCallStack:"Request initiator call stack",timing:"Timing",requestAndResponseTimeline:"Request and response timeline",trustTokens:"Private state tokens",trustTokenOperationDetails:"Private State Token operation details",cookies:"Cookies",requestAndResponseCookies:"Request and response cookies"},str_=i18n.i18n.registerUIStrings("panels/network/NetworkItemView.ts",UIStrings),i18nString=i18n.i18n.getLocalizedString.bind(void 0,str_);export class NetworkItemView extends UI.TabbedPane.TabbedPane{requestInternal;resourceViewTabSetting;headersView;headersViewComponent;payloadView;responseView;cookiesView;initialTab;constructor(e,t,s){super(),this.requestInternal=e,this.element.classList.add("network-item-view");const r=Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.HEADER_OVERRIDES)?NetworkForward.UIRequestLocation.UIRequestTabs.HeadersComponent:NetworkForward.UIRequestLocation.UIRequestTabs.Headers;if(this.resourceViewTabSetting=Common.Settings.Settings.instance().createSetting("resourceViewTab",r),this.headersView=new RequestHeadersView(e),this.headersViewComponent=new NetworkComponents.RequestHeadersView.RequestHeadersView(e),Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.HEADER_OVERRIDES)){if(this.appendTab(r,i18nString(UIStrings.headers),LegacyWrapper.LegacyWrapper.legacyWrapper(UI.Widget.VBox,this.headersViewComponent),i18nString(UIStrings.headers)),this.requestInternal.hasOverriddenHeaders()){const e=new IconButton.Icon.Icon;e.data={iconName:"small-status-dot",color:"var(--color-purple-bright)",width:"16px",height:"16px"},this.setTabIcon(NetworkForward.UIRequestLocation.UIRequestTabs.HeadersComponent,e)}}else this.appendTab(r,i18nString(UIStrings.headers),this.headersView,i18nString(UIStrings.headers));if(this.payloadView=null,this.maybeAppendPayloadPanel(),this.addEventListener(UI.TabbedPane.Events.TabSelected,this.tabSelected,this),e.resourceType()===Common.ResourceType.resourceTypes.WebSocket){const t=new ResourceWebSocketFrameView(e);this.appendTab(NetworkForward.UIRequestLocation.UIRequestTabs.WsFrames,i18nString(UIStrings.messages),t,i18nString(UIStrings.websocketMessages))}else if(e.mimeType===SDK.NetworkRequest.MIME_TYPE.EVENTSTREAM)this.appendTab(NetworkForward.UIRequestLocation.UIRequestTabs.EventSource,i18nString(UIStrings.eventstream),new EventSourceMessagesView(e));else{this.responseView=new RequestResponseView(e);const t=new RequestPreviewView(e);this.appendTab(NetworkForward.UIRequestLocation.UIRequestTabs.Preview,i18nString(UIStrings.preview),t,i18nString(UIStrings.responsePreview));const s=e.signedExchangeInfo();if(s&&s.errors&&s.errors.length){const e=new IconButton.Icon.Icon;e.data={iconName:"cross-circle-filled",color:"var(--icon-error)",width:"14px",height:"14px"},UI.Tooltip.Tooltip.install(e,i18nString(UIStrings.signedexchangeError)),this.setTabIcon(NetworkForward.UIRequestLocation.UIRequestTabs.Preview,e)}if(this.appendTab(NetworkForward.UIRequestLocation.UIRequestTabs.Response,i18nString(UIStrings.response),this.responseView,i18nString(UIStrings.rawResponseData)),this.requestInternal.hasOverriddenContent){const e=new IconButton.Icon.Icon;e.data={iconName:"small-status-dot",color:"var(--color-purple-bright)",width:"16px",height:"16px"},this.setTabIcon(NetworkForward.UIRequestLocation.UIRequestTabs.Response,e)}}this.appendTab(NetworkForward.UIRequestLocation.UIRequestTabs.Initiator,i18nString(UIStrings.initiator),new RequestInitiatorView(e),i18nString(UIStrings.requestInitiatorCallStack)),this.appendTab(NetworkForward.UIRequestLocation.UIRequestTabs.Timing,i18nString(UIStrings.timing),new RequestTimingView(e,t),i18nString(UIStrings.requestAndResponseTimeline)),e.trustTokenParams()&&this.appendTab(NetworkForward.UIRequestLocation.UIRequestTabs.TrustTokens,i18nString(UIStrings.trustTokens),LegacyWrapper.LegacyWrapper.legacyWrapper(UI.Widget.VBox,new NetworkComponents.RequestTrustTokensView.RequestTrustTokensView(e)),i18nString(UIStrings.trustTokenOperationDetails)),this.cookiesView=null,this.initialTab=s||this.resourceViewTabSetting.get(),this.setAutoSelectFirstItemOnShow(!1)}wasShown(){super.wasShown(),this.requestInternal.addEventListener(SDK.NetworkRequest.Events.RequestHeadersChanged,this.requestHeadersChanged,this),this.requestInternal.addEventListener(SDK.NetworkRequest.Events.ResponseHeadersChanged,this.maybeAppendCookiesPanel,this),this.requestInternal.addEventListener(SDK.NetworkRequest.Events.TrustTokenResultAdded,this.maybeShowErrorIconInTrustTokenTabHeader,this),this.maybeAppendCookiesPanel(),this.maybeShowErrorIconInTrustTokenTabHeader(),this.initialTab&&(this.selectTabInternal(this.initialTab),this.initialTab=void 0)}willHide(){this.requestInternal.removeEventListener(SDK.NetworkRequest.Events.RequestHeadersChanged,this.requestHeadersChanged,this),this.requestInternal.removeEventListener(SDK.NetworkRequest.Events.ResponseHeadersChanged,this.maybeAppendCookiesPanel,this),this.requestInternal.removeEventListener(SDK.NetworkRequest.Events.TrustTokenResultAdded,this.maybeShowErrorIconInTrustTokenTabHeader,this)}async requestHeadersChanged(){this.maybeAppendCookiesPanel(),this.maybeAppendPayloadPanel()}maybeAppendCookiesPanel(){const e=this.requestInternal.hasRequestCookies()||this.requestInternal.responseCookies.length>0;console.assert(e||!this.cookiesView,"Cookies were introduced in headers and then removed!"),e&&!this.cookiesView&&(this.cookiesView=new RequestCookiesView(this.requestInternal),this.appendTab(NetworkForward.UIRequestLocation.UIRequestTabs.Cookies,i18nString(UIStrings.cookies),this.cookiesView,i18nString(UIStrings.requestAndResponseCookies)))}async maybeAppendPayloadPanel(){this.hasTab("payload")||(this.requestInternal.queryParameters||await this.requestInternal.requestFormData())&&(this.payloadView=new RequestPayloadView(this.requestInternal),this.appendTab(NetworkForward.UIRequestLocation.UIRequestTabs.Payload,i18nString(UIStrings.payload),this.payloadView,i18nString(UIStrings.payload),void 0,void 0,void 0,1))}maybeShowErrorIconInTrustTokenTabHeader(){const e=this.requestInternal.trustTokenOperationDoneEvent();if(e&&!NetworkComponents.RequestTrustTokensView.statusConsideredSuccess(e.status)){const e=new IconButton.Icon.Icon;e.data={iconName:"cross-circle-filled",color:"var(--icon-error)",width:"14px",height:"14px"},this.setTabIcon(NetworkForward.UIRequestLocation.UIRequestTabs.TrustTokens,e)}}selectTabInternal(e){this.selectTab(e)||window.setTimeout((()=>{this.selectTab(e)||this.selectTab("headers")}),0)}tabSelected(e){e.data.isUserGesture&&this.resourceViewTabSetting.set(e.data.tabId)}request(){return this.requestInternal}async revealResponseBody(e){this.selectTabInternal(NetworkForward.UIRequestLocation.UIRequestTabs.Response),this.responseView&&"number"==typeof e&&await this.responseView.revealLine(e)}revealHeader(e,t){Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.HEADER_OVERRIDES)?(this.selectTabInternal(NetworkForward.UIRequestLocation.UIRequestTabs.HeadersComponent),this.headersViewComponent.revealHeader(e,t)):(this.selectTabInternal(NetworkForward.UIRequestLocation.UIRequestTabs.Headers),this.headersView.revealHeader(e,t))}getHeadersView(){return this.headersView}getHeadersViewComponent(){return this.headersViewComponent}}