MCPcopy
hub / github.com/Tencent/vConsole / beforeFetch

Method beforeFetch

src/network/fetch.proxy.ts:136–189  ·  view source on GitHub ↗
(item: VConsoleNetworkRequestItem, input: RequestInfo, init?: RequestInit)

Source from the content-addressed store, hash-verified

134 }
135
136 protected beforeFetch(item: VConsoleNetworkRequestItem, input: RequestInfo, init?: RequestInit) {
137 let url: URL,
138 method = 'GET',
139 requestHeader: HeadersInit = null;
140
141 // handle `input` content
142 if (tool.isString(input)) { // when `input` is a string
143 method = init?.method || 'GET';
144 url = Helper.getURL(<string>input);
145 requestHeader = init?.headers || null;
146 } else { // when `input` is a `Request` object
147 method = (<Request>input).method || 'GET';
148 url = Helper.getURL((<Request>input).url);
149 requestHeader = (<Request>input).headers;
150 }
151
152 item.method = <VConsoleRequestMethod>method;
153 item.requestType = 'fetch';
154 item.requestHeader = requestHeader;
155 item.url = url.toString();
156 item.name = (url.pathname.split('/').pop() || '') + url.search;
157 item.status = 0;
158 item.statusText = 'Pending';
159 item.readyState = 1;
160 if (!item.startTime) { // UNSENT
161 item.startTime = Date.now();
162 const sd = tool.getDate(item.startTime);
163 item.startTimeText = `${sd.year}-${sd.month}-${sd.day} ${sd.hour}:${sd.minute}:${sd.second}.${sd.millisecond}`;
164 }
165
166 if (Object.prototype.toString.call(requestHeader) === '[object Headers]') {
167 item.requestHeader = {};
168 for (const [key, value] of <Headers>requestHeader) {
169 item.requestHeader[key] = value;
170 }
171 } else {
172 item.requestHeader = requestHeader;
173 }
174
175 // save GET data
176 if (url.search && url.searchParams) {
177 item.getData = {};
178 for (const [key, value] of url.searchParams) {
179 item.getData[key] = value;
180 }
181 }
182
183 // save POST data
184 if (init?.body) {
185 item.postData = Helper.genFormattedBody(init.body);
186 }
187
188 this.onUpdateCallback(item);
189 }
190
191 protected afterFetch(item) {
192 const then = (resp: Response) => {

Callers 1

applyMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected