// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { Cookie, HttpRequest, HttpResponseEventData, HttpResponseHeader, HttpSendSettings } from "./gen_models"; /** * One line of the reply stream. Tags are snake_case like the timeline event tags; fields are * camelCase like every model the tab stores. */ export type Frame = { "type": "event", event: HttpResponseEventData, } | { "type": "response", status: number, statusReason: string | null, /** * The URL that answered, after redirects. */ url: string, remoteAddr: string | null, version: string | null, headers: Array, /** * The headers that were actually sent on the final hop, cookies and all. */ requestHeaders: Array, /** * `Content-Length` as declared by the server, if it declared one. */ contentLength: number | null, /** * Milliseconds from the start of the send to the response head. */ elapsedHeaders: number, /** * Milliseconds spent in DNS on the last lookup, or zero. */ elapsedDns: number, } | { "type": "body", data: string, } | { "type": "done", /** * Milliseconds from the start of the send to the end of the body. */ elapsed: number, /** * Bytes of body relayed, after decompression. */ contentLength: number, /** * Bytes on the wire as declared by the server, or the relayed size when unknown. */ contentLengthCompressed: number, /** * The jar as the send left it, for the tab to persist. `None` when the tab sent none. */ cookies: Array | null, } | { "type": "error", message: string, cookies: Array | null, }; /** * The body of `POST /v1/http/send`. */ export type SendRequest = { /** * The request to send, in the desktop's own model shape but with every template already * rendered by the tab. The server builds the URL, headers and body from it exactly the way * the desktop does after rendering. */ request: HttpRequest, /** * The resolved settings, values only. Where they came from is the tab's to record in * its timeline; the server only needs to obey them. */ settings: HttpSendSettings, /** * The cookies to start with. `None` means no jar at all: nothing sent, nothing kept. */ cookies: Array | null, };