model

package
v0.19.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 20, 2026 License: Apache-2.0, Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Event

type Event struct {
	Time        time.Time
	Proto       string
	Scheme      string
	Host        string
	Method      string
	Path        string
	Query       string
	Status      int
	ReqHdrNames []string
	ResHdrNames []string
	BodyShape   struct {
		Kind string
		JSON map[string]string `json:",omitempty"`
		Size int64
	}
	WSFrames []FrameShape `json:",omitempty"`
	GRPC     struct {
		Package      string
		Service      string
		Method       string
		Decoded      bool
		ClientStream bool
		ServerStream bool
		ReqSchema    *Schema
		ResSchema    *Schema
	}
	GraphQL struct {
		Operation string `json:"operation,omitempty"`
	}
	DurationMs int64
	ConnID     string
	TraceID    string
	Redactions []string
	// Hashed contains deterministic (SHA-256 hex, truncated) hashes of sensitive fields when hashing is configured.
	Hashed map[string]string `json:"hashed,omitempty"`
}

Event is the core captured-traffic record produced by the proxy and consumed by the recorder, exporters, and inference pipeline: one HTTP/WebSocket/gRPC/GraphQL transaction described structurally rather than with raw payloads. Header values are never captured, only names (ReqHdrNames/ResHdrNames); BodyShape/WSFrames/GRPC.ReqSchema/ResSchema record inferred structure (types, not values); Redactions lists which fields/headers were redacted, and Hashed carries deterministic truncated SHA-256 hashes for fields configured for hashing instead of full capture.

type FrameShape

type FrameShape struct {
	Kind string            `json:"Kind"`
	JSON map[string]string `json:"JSON,omitempty"`
	Size int64             `json:"Size,omitempty"`
}

FrameShape captures the structure-only shape of a single WebSocket frame: Kind identifies the frame's payload kind (e.g. "json" for a decoded JSON text frame), JSON maps each observed top-level field name to its inferred type (never the raw value), and Size is the frame's byte size. A frame whose kind isn't recognized as structured JSON carries only Kind and Size.

type Schema

type Schema struct {
	Type   string             `json:"type,omitempty"`
	Format string             `json:"format,omitempty"`
	Props  map[string]*Schema `json:"properties,omitempty"`
	Items  *Schema            `json:"items,omitempty"`
}

Schema is a minimal, JSON-Schema-like structural description used across the exporters (OpenAPI/gRPC/WS) to describe an inferred request/response shape without carrying any actual field values: Type and Format follow JSON Schema's primitive vocabulary (e.g. "string"/"uuid"), Props holds named object properties, and Items describes an array's element schema.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL