Network.json   [plain text]


{
    "domain": "Network",
    "description": "Network domain allows tracking network activities of the page. It exposes information about http, file, data and other requests and responses, their headers, bodies, timing, etc.",
    "availability": ["web", "service-worker"],
    "types": [
        {
            "id": "LoaderId",
            "type": "string",
            "description": "Unique loader identifier."
        },
        {
            "id": "FrameId",
            "type": "string",
            "description": "Unique frame identifier."
        },
        {
            "id": "RequestId",
            "type": "string",
            "description": "Unique request identifier."
        },
        {
            "id": "Timestamp",
            "type": "number",
            "description": "Elapsed seconds since frontend connected."
        },
        {
            "id": "Walltime",
            "type": "number",
            "description": "Number of seconds since epoch."
        },
        {
            "id": "Headers",
            "type": "object",
            "description": "Request / response headers as keys / values of JSON object."
        },
        {
            "id": "ResourceTiming",
            "type": "object",
            "description": "Timing information for the request.",
            "properties": [
                { "name": "startTime", "$ref": "Timestamp", "description": "Request is initiated" },
                { "name": "redirectStart", "$ref": "Timestamp", "description": "Started redirect resolution." },
                { "name": "redirectEnd", "$ref": "Timestamp", "description": "Finished redirect resolution." },
                { "name": "fetchStart", "$ref": "Timestamp", "description": "Resource fetching started." },
                { "name": "domainLookupStart", "type": "number", "description": "Started DNS address resolve in milliseconds relative to fetchStart." },
                { "name": "domainLookupEnd", "type": "number", "description": "Finished DNS address resolve in milliseconds relative to fetchStart." },
                { "name": "connectStart", "type": "number", "description": "Started connecting to the remote host in milliseconds relative to fetchStart." },
                { "name": "connectEnd", "type": "number", "description": "Connected to the remote host in milliseconds relative to fetchStart." },
                { "name": "secureConnectionStart", "type": "number", "description": "Started SSL handshake in milliseconds relative to fetchStart." },
                { "name": "requestStart", "type": "number", "description": "Started sending request in milliseconds relative to fetchStart." },
                { "name": "responseStart", "type": "number", "description": "Started receiving response headers in milliseconds relative to fetchStart." },
                { "name": "responseEnd", "type": "number", "description": "Finished receiving response headers in milliseconds relative to fetchStart." }
            ]
        },
        {
            "id": "Request",
            "type": "object",
            "description": "HTTP request data.",
            "properties": [
                { "name": "url", "type": "string", "description": "Request URL." },
                { "name": "method", "type": "string", "description": "HTTP request method." },
                { "name": "headers", "$ref": "Headers", "description": "HTTP request headers." },
                { "name": "postData", "type": "string", "optional": true, "description": "HTTP POST request data." }
            ]
        },
        {
            "id": "Response",
            "type": "object",
            "description": "HTTP response data.",
            "properties": [
                { "name": "url", "type": "string", "description": "Response URL. This URL can be different from CachedResource.url in case of redirect." },
                { "name": "status", "type": "integer", "description": "HTTP response status code." },
                { "name": "statusText", "type": "string", "description": "HTTP response status text." },
                { "name": "headers", "$ref": "Headers", "description": "HTTP response headers." },
                { "name": "mimeType", "type": "string", "description": "Resource mimeType as determined by the browser." },
                { "name": "source", "type": "string", "enum": ["unknown", "network", "memory-cache", "disk-cache", "service-worker"], "description": "Specifies where the response came from." },
                { "name": "requestHeaders", "$ref": "Headers", "optional": true, "description": "Refined HTTP request headers that were actually transmitted over the network." },
                { "name": "timing", "$ref": "ResourceTiming", "optional": true, "description": "Timing information for the given request." },
                { "name": "security", "$ref": "Security.Security", "optional": true, "description": "The security information for the given request." }
            ]
        },
        {
            "id": "Metrics",
            "type": "object",
            "description": "Network load metrics.",
            "properties": [
                { "name": "protocol", "type": "string", "optional": true, "description": "Network protocol. ALPN Protocol ID Identification Sequence, as per RFC 7301 (for example, http/2, http/1.1, spdy/3.1)" },
                { "name": "priority", "type": "string", "enum": ["low", "medium", "high"], "optional": true, "description": "Network priority." },
                { "name": "connectionIdentifier", "type": "string", "optional": true, "description": "Connection identifier." },
                { "name": "remoteAddress", "type": "string", "optional": true, "description": "Remote IP address." },
                { "name": "requestHeaders", "$ref": "Headers", "optional": true, "description": "Refined HTTP request headers that were actually transmitted over the network." },
                { "name": "requestHeaderBytesSent", "type": "number", "optional": true, "description": "Total HTTP request header bytes sent over the network." },
                { "name": "requestBodyBytesSent", "type": "number", "optional": true, "description": "Total HTTP request body bytes sent over the network." },
                { "name": "responseHeaderBytesReceived", "type": "number", "optional": true, "description": "Total HTTP response header bytes received over the network." },
                { "name": "responseBodyBytesReceived", "type": "number", "optional": true, "description": "Total HTTP response body bytes received over the network." },
                { "name": "responseBodyDecodedSize", "type": "number", "optional": true, "description": "Total decoded response body size in bytes." }
            ]
        },
        {
            "id": "WebSocketRequest",
            "type": "object",
            "description": "WebSocket request data.",
            "properties": [
                { "name": "headers", "$ref": "Headers", "description": "HTTP response headers." }
            ]
        },
        {
            "id": "WebSocketResponse",
            "type": "object",
            "description": "WebSocket response data.",
            "properties": [
                { "name": "status", "type": "integer", "description": "HTTP response status code." },
                { "name": "statusText", "type": "string", "description": "HTTP response status text." },
                { "name": "headers", "$ref": "Headers", "description": "HTTP response headers." }
            ]
        },
        {
            "id": "WebSocketFrame",
            "type": "object",
            "description": "WebSocket frame data.",
            "properties": [
                { "name": "opcode", "type": "number", "description": "WebSocket frame opcode." },
                { "name": "mask", "type": "boolean", "description": "WebSocket frame mask." },
                { "name": "payloadData", "type": "string", "description": "WebSocket frame payload data." },
                { "name": "payloadLength", "type": "number", "description": "WebSocket frame payload length in bytes." }
            ]
        },
        {
            "id": "CachedResource",
            "type": "object",
            "description": "Information about the cached resource.",
            "properties": [
                { "name": "url", "type": "string", "description": "Resource URL. This is the url of the original network request." },
                { "name": "type", "$ref": "Page.ResourceType", "description": "Type of this resource." },
                { "name": "response", "$ref": "Response", "optional": true, "description": "Cached response data." },
                { "name": "bodySize", "type": "number", "description": "Cached response body size." },
                { "name": "sourceMapURL", "type": "string", "optional": true, "description": "URL of source map associated with this resource (if any)." }
            ]
        },
        {
            "id": "Initiator",
            "type": "object",
            "description": "Information about the request initiator.",
            "properties": [
                { "name": "type", "type": "string", "enum": ["parser", "script", "other"], "description": "Type of this initiator." },
                { "name": "stackTrace", "type": "array", "items": { "$ref": "Console.CallFrame" }, "optional": true, "description": "Initiator JavaScript stack trace, set for Script only." },
                { "name": "url", "type": "string", "optional": true, "description": "Initiator URL, set for Parser type only." },
                { "name": "lineNumber", "type": "number", "optional": true, "description": "Initiator line number, set for Parser type only." },
                { "name": "nodeId", "$ref": "DOM.NodeId", "optional": true, "description": "Set if the load was triggered by a DOM node, in addition to the other initiator information." }
            ]
        }
    ],
    "commands": [
        {
            "name": "enable",
            "description": "Enables network tracking, network events will now be delivered to the client."
        },
        {
            "name": "disable",
            "description": "Disables network tracking, prevents network events from being sent to the client."
        },
        {
            "name": "setExtraHTTPHeaders",
            "description": "Specifies whether to always send extra HTTP headers with the requests from this page.",
            "parameters": [
                { "name": "headers", "$ref": "Headers", "description": "Map with extra HTTP headers." }
            ]
        },
        {
            "name": "getResponseBody",
            "description": "Returns content served for the given request.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Identifier of the network request to get content for." }
            ],
            "returns": [
                { "name": "body", "type": "string", "description": "Response body." },
                { "name": "base64Encoded", "type": "boolean", "description": "True, if content was sent as base64." }
            ]
        },
        {
            "name": "setResourceCachingDisabled",
            "description": "Toggles whether the resource cache may be used when loading resources in the inspected page. If <code>true</code>, the resource cache will not be used when loading resources.",
            "parameters": [
                { "name": "disabled", "type": "boolean", "description": "Whether to prevent usage of the resource cache." }
            ]
        },
        {
            "name": "loadResource",
            "description": "Loads a resource in the context of a frame on the inspected page without cross origin checks.",
            "async": true,
            "parameters": [
                { "name": "frameId", "$ref": "FrameId", "description": "Frame to load the resource from." },
                { "name": "url", "type": "string", "description": "URL of the resource to load." }
            ],
            "returns": [
                { "name": "content", "type": "string", "description": "Resource content." },
                { "name": "mimeType", "type": "string", "description": "Resource mimeType." },
                { "name": "status", "type": "integer", "description": "HTTP response status code." }
            ]
        },
        {
            "name": "getSerializedCertificate",
            "description": "Fetches a serialized secure certificate for the given requestId to be displayed via InspectorFrontendHost.showCertificate.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId" }
            ],
            "returns": [
                { "name": "serializedCertificate", "type": "string", "description": "Represents a base64 encoded WebCore::CertificateInfo object." }
            ]
        },
        {
            "name": "resolveWebSocket",
            "description": "Resolves JavaScript WebSocket object for given request id.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Identifier of the WebSocket resource to resolve." },
                { "name": "objectGroup", "type": "string", "optional": true, "description": "Symbolic group name that can be used to release multiple objects." }
            ],
            "returns": [
                { "name": "object", "$ref": "Runtime.RemoteObject", "description": "JavaScript object wrapper for given node." }
            ]
        }
    ],
    "events": [
        {
            "name": "requestWillBeSent",
            "description": "Fired when page is about to send HTTP request.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Request identifier." },
                { "name": "frameId", "$ref": "FrameId", "description": "Frame identifier." },
                { "name": "loaderId", "$ref": "LoaderId", "description": "Loader identifier." },
                { "name": "documentURL", "type": "string", "description": "URL of the document this request is loaded for." },
                { "name": "request", "$ref": "Request", "description": "Request data." },
                { "name": "timestamp", "$ref": "Timestamp" },
                { "name": "walltime", "$ref": "Walltime" },
                { "name": "initiator", "$ref": "Initiator", "description": "Request initiator." },
                { "name": "redirectResponse", "optional": true, "$ref": "Response", "description": "Redirect response data." },
                { "name": "type", "$ref": "Page.ResourceType", "optional": true, "description": "Resource type." },
                { "name": "targetId", "type": "string", "optional": true, "description": "Identifier for the context of where the load originated. In general this is the target identifier. For Workers this will be the workerId." }
            ]
        },
        {
            "name": "responseReceived",
            "description": "Fired when HTTP response is available.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Request identifier." },
                { "name": "frameId", "$ref": "FrameId", "description": "Frame identifier." },
                { "name": "loaderId", "$ref": "LoaderId", "description": "Loader identifier." },
                { "name": "timestamp", "$ref": "Timestamp", "description": "Timestamp." },
                { "name": "type", "$ref": "Page.ResourceType", "description": "Resource type." },
                { "name": "response", "$ref": "Response", "description": "Response data." }
            ]
        },
        {
            "name": "dataReceived",
            "description": "Fired when data chunk was received over the network.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Request identifier." },
                { "name": "timestamp", "$ref": "Timestamp", "description": "Timestamp." },
                { "name": "dataLength", "type": "integer", "description": "Data chunk length." },
                { "name": "encodedDataLength", "type": "integer", "description": "Actual bytes received (might be less than dataLength for compressed encodings)." }
            ]
        },
        {
            "name": "loadingFinished",
            "description": "Fired when HTTP request has finished loading.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Request identifier." },
                { "name": "timestamp", "$ref": "Timestamp", "description": "Timestamp." },
                { "name": "sourceMapURL", "type": "string", "optional": true, "description": "URL of source map associated with this resource (if any)." },
                { "name": "metrics", "$ref": "Metrics", "optional": true, "description": "Network metrics." }
            ]
        },
        {
            "name": "loadingFailed",
            "description": "Fired when HTTP request has failed to load.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Request identifier." },
                { "name": "timestamp", "$ref": "Timestamp", "description": "Timestamp." },
                { "name": "errorText", "type": "string", "description": "User friendly error message." },
                { "name": "canceled", "type": "boolean", "optional": true, "description": "True if loading was canceled." }
            ]
        },
        {
            "name": "requestServedFromMemoryCache",
            "description": "Fired when HTTP request has been served from memory cache.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Request identifier." },
                { "name": "frameId", "$ref": "FrameId", "description": "Frame identifier." },
                { "name": "loaderId", "$ref": "LoaderId", "description": "Loader identifier." },
                { "name": "documentURL", "type": "string", "description": "URL of the document this request is loaded for." },
                { "name": "timestamp", "$ref": "Timestamp", "description": "Timestamp." },
                { "name": "initiator", "$ref": "Initiator", "description": "Request initiator." },
                { "name": "resource", "$ref": "CachedResource", "description": "Cached resource data." }
            ]
        },
        {
            "name": "webSocketWillSendHandshakeRequest",
            "description": "Fired when WebSocket is about to initiate handshake.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Request identifier." },
                { "name": "timestamp", "$ref": "Timestamp" },
                { "name": "walltime", "$ref": "Walltime" },
                { "name": "request", "$ref": "WebSocketRequest", "description": "WebSocket request data." }
            ]
        },
        {
            "name": "webSocketHandshakeResponseReceived",
            "description": "Fired when WebSocket handshake response becomes available.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Request identifier." },
                { "name": "timestamp", "$ref": "Timestamp" },
                { "name": "response", "$ref": "WebSocketResponse", "description": "WebSocket response data." }
            ]
        },
        {
            "name": "webSocketCreated",
            "description": "Fired upon WebSocket creation.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Request identifier." },
                { "name": "url", "type": "string", "description": "WebSocket request URL." }
            ]
        },
        {
            "name": "webSocketClosed",
            "description": "Fired when WebSocket is closed.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Request identifier." },
                { "name": "timestamp", "$ref": "Timestamp", "description": "Timestamp." }
            ]
        },
        {
            "name": "webSocketFrameReceived",
            "description": "Fired when WebSocket frame is received.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Request identifier." },
                { "name": "timestamp", "$ref": "Timestamp", "description": "Timestamp." },
                { "name": "response", "$ref": "WebSocketFrame", "description": "WebSocket response data." }
            ]
        },
        {
            "name": "webSocketFrameError",
            "description": "Fired when WebSocket frame error occurs.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Request identifier." },
                { "name": "timestamp", "$ref": "Timestamp", "description": "Timestamp." },
                { "name": "errorMessage", "type": "string", "description": "WebSocket frame error message." }
            ]
        },
        {
            "name": "webSocketFrameSent",
            "description": "Fired when WebSocket frame is sent.",
            "parameters": [
                { "name": "requestId", "$ref": "RequestId", "description": "Request identifier." },
                { "name": "timestamp", "$ref": "Timestamp", "description": "Timestamp." },
                { "name": "response", "$ref": "WebSocketFrame", "description": "WebSocket response data." }
            ]
        }
    ]
}