From b19c1877d088fbe01bcdea9fbdef282e66ab114f Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Wed, 20 Mar 2024 22:25:56 +0100 Subject: Started with frontend --- src/types.ts | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 src/types.ts (limited to 'src/types.ts') diff --git a/src/types.ts b/src/types.ts new file mode 100644 index 0000000..84b95e3 --- /dev/null +++ b/src/types.ts @@ -0,0 +1,119 @@ +export type Headers = [string, string][]; +export type Method = + | "GET" + | "HEAD" + | "POST" + | "PUT" + | "DELETE" + | "CONNECT" + | "OPTIONS" + | "TRACE" + | "PATCH"; + +export interface RequestPayload { + id: string; + timestamp: string; + body: string; + headers: Headers; + method: Method; + path: string; +} + +export interface Request { + type: "request"; + payload: RequestPayload; +} + +export interface ResponsePayload { + id: string; + timing: number; + body: string; + headers: Headers; + status: number; +} + +export interface Response { + type: "response"; + payload: ResponsePayload; +} + +type RequestResponseType = Request | Response; + +interface WebsocketConnectPayload { + id: string; + headers: Headers; + path: string; + timestamp: string; +} + +interface WebsocketConnect { + type: "websocket_connect"; + payload: WebsocketConnectPayload; +} + +interface WebsocketConnectedPayload { + id: string; + timing: number; +} + +interface WebsocketConnected { + type: "websocket_connected"; + payload: WebsocketConnectedPayload; +} + +interface WebsocketInboundPayload { + id: string; + timestamp: string; + body: string; +} + +interface WebsocketInbound { + type: "websocket_inbound"; + payload: WebsocketInboundPayload; +} + +interface WebsocketOutboundPayload { + id: string; + timestamp: string; + body: string; +} + +interface WebsocketOutbound { + type: "websocket_outbound"; + payload: WebsocketOutboundPayload; +} + +interface WebsocketDisconnectPayload { + id: string; + timestamp: string; + close_code: number; +} + +interface WebsocketDisconnect { + type: "websocket_disconnect"; + payload: WebsocketDisconnectPayload; +} + +export type WebsocketType = + | WebsocketConnect + | WebsocketConnected + | WebsocketInbound + | WebsocketOutbound + | WebsocketDisconnect; + +export interface Historic { + type: "historic"; + payload: (RequestResponseType | WebsocketType)[]; +} + +export interface RequestResponse { + request: RequestPayload; + response?: ResponsePayload; +} + +export enum ReadyState { + CONNECTING = 0, + OPEN = 1, + CLOSING = 2, + CLOSED = 3, +} -- cgit v1.2.3 From 648b804e72d4831e41e02dfd7d6b5a9ac7660b58 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Fri, 30 Aug 2024 11:19:30 +0200 Subject: Added ui --- src/types.ts | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) (limited to 'src/types.ts') diff --git a/src/types.ts b/src/types.ts index 84b95e3..0e11bee 100644 --- a/src/types.ts +++ b/src/types.ts @@ -37,31 +37,33 @@ export interface Response { payload: ResponsePayload; } -type RequestResponseType = Request | Response; +export type RequestResponseType = Request | Response; -interface WebsocketConnectPayload { +export interface WebsocketConnectPayload { + method: "GET"; id: string; headers: Headers; path: string; timestamp: string; } -interface WebsocketConnect { +export interface WebsocketConnect { type: "websocket_connect"; payload: WebsocketConnectPayload; } -interface WebsocketConnectedPayload { +export interface WebsocketConnectedPayload { id: string; timing: number; + status: 101; } -interface WebsocketConnected { +export interface WebsocketConnected { type: "websocket_connected"; payload: WebsocketConnectedPayload; } -interface WebsocketInboundPayload { +export interface WebsocketInboundPayload { id: string; timestamp: string; body: string; @@ -72,7 +74,7 @@ interface WebsocketInbound { payload: WebsocketInboundPayload; } -interface WebsocketOutboundPayload { +export interface WebsocketOutboundPayload { id: string; timestamp: string; body: string; @@ -83,7 +85,7 @@ interface WebsocketOutbound { payload: WebsocketOutboundPayload; } -interface WebsocketDisconnectPayload { +export interface WebsocketDisconnectPayload { id: string; timestamp: string; close_code: number; @@ -107,10 +109,25 @@ export interface Historic { } export interface RequestResponse { + type: "RequestResponse"; request: RequestPayload; response?: ResponsePayload; } +export type Frame = WebsocketDisconnect | WebsocketInbound | WebsocketOutbound; +export interface WebsocketConnection { + type: "WebsocketConnection"; + request: WebsocketConnectPayload; + response?: WebsocketConnectedPayload; + frames?: Frame[]; +} + +export type Call = RequestResponse | WebsocketConnection; + +export type Requests = Array; +export type Responses = { [id: string]: Response | WebsocketConnected }; +export type Frames = { [id: string]: Frame[] }; + export enum ReadyState { CONNECTING = 0, OPEN = 1, -- cgit v1.2.3