The webinspector debugger now does not requre http-request

This commit is contained in:
Panayot Cankov
2016-03-09 11:06:09 +02:00
parent 1ec28cbe98
commit 355fddea91
10 changed files with 324 additions and 257 deletions

View File

@ -1,103 +1,39 @@
import definition = require("./InspectorBackendCommands");
import http_request = require("http/http-request");
export namespace domains {
export namespace network {
export interface NetworkDomainDebugger {
create(): domains.network.NetworkRequest;
}
export interface Headers {
}
var resources_datas = [];
export interface Request {
url: string;
method: string;
headers: domains.network.Headers;
postData?: string;
}
@definition.DomainDispatcher("Network")
export class NetworkDomainDebugger implements definition.NetworkDomain.NetworkDomainDispatcher {
private events: definition.NetworkDomain.NetworkFrontend;
export interface Response {
url: string;
status: number;
statusText: string;
headers: Headers;
headersText?: string;
mimeType: string;
requestHeaders?: domains.network.Headers;
requestHeadersText?: string;
fromDiskCache?: boolean;
}
constructor(dispatchMessage: (message: String) => void) {
this.events = new definition.NetworkDomain.NetworkFrontend(dispatchMessage);
}
/**
* Enables network tracking, network events will now be delivered to the client.
*/
enable(): void {
http_request.domainDebugger = {
"events": this.events,
"resource_datas": resources_datas
}
}
/**
* Disables network tracking, prevents network events from being sent to the client.
*/
disable(): void {
//
}
/**
* Specifies whether to always send extra HTTP headers with the requests from this page.
*/
setExtraHTTPHeaders(params: definition.NetworkDomain.SetExtraHTTPHeadersMethodArguments): void {
//
}
/**
* Returns content served for the given request.
*/
getResponseBody(params: definition.NetworkDomain.GetResponseBodyMethodArguments): { body: string, base64Encoded: boolean } {
var resource_data = resources_datas[params.requestId];
var body = resource_data.hasTextContent ? NSString.alloc().initWithDataEncoding(resource_data.data, 4).toString() :
resource_data.data.base64EncodedStringWithOptions(0);
if(resource_data) {
return {
body: body,
base64Encoded: !resource_data.hasTextContent
};
}
}
/**
* Tells whether clearing browser cache is supported.
*/
canClearBrowserCache(): { result: boolean } {
return {
result: false
};
}
/**
* Clears browser cache.
*/
clearBrowserCache(): void {
//
}
/**
* Tells whether clearing browser cookies is supported.
*/
canClearBrowserCookies(): { result: boolean } {
return {
result: false
};
}
/**
* Clears browser cookies.
*/
clearBrowserCookies(): void {
//
}
/**
* Toggles ignoring cache for each request. If <code>true</code>, cache will not be used.
*/
setCacheDisabled(params: definition.NetworkDomain.SetCacheDisabledMethodArguments): void {
//
}
/**
* Loads a resource in the context of a frame on the inspected page without cross origin checks.
*/
loadResource(params: definition.NetworkDomain.LoadResourceMethodArguments): { content: string, mimeType: string, status: number } {
return {
content: "",
mimeType: "",
status: 200
export interface NetworkRequest {
mimeType: string;
data: any;
responseReceived(response: domains.network.Response);
loadingFinished();
requestWillBeSent(request: domains.network.Request);
}
}
}
}
export var network: domains.network.NetworkDomainDebugger;