Documentation
¶
Overview ¶
nolint // this is debugger code, not for prod and 100% vibe-coded
nolint // this is debugger code, not for prod and 100% vibe-coded
nolint // this is debugger code, not for prod and 100% vibe-coded
Index ¶
- type APIResponse
- type ParsedRequest
- type RemoteFetcher
- type RequestItem
- type RequestMetadata
- type RequestParser
- func (p *RequestParser) ConvertToJSON(requests []ParsedRequest) ([]byte, error)
- func (p *RequestParser) ExtractTimestampFromHeaders(parsed *ParsedRequest)
- func (p *RequestParser) NormalizeHeaders(headers map[string]string) map[string]string
- func (p *RequestParser) ParseAndConvert(content []byte) ([]byte, error)
- func (p *RequestParser) ParseRawlogContent(content []byte) ([]ParsedRequest, error)
- func (p *RequestParser) SetTimestamp(parsed *ParsedRequest, timestamp time.Time)
- func (p *RequestParser) ValidateRequest(parsed ParsedRequest) error
- type Server
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIResponse ¶
type APIResponse struct {
Success bool `json:"success"`
Data interface{} `json:"data,omitempty"`
Error string `json:"error,omitempty"`
}
APIResponse represents a standard API response structure
type ParsedRequest ¶
type ParsedRequest struct {
Metadata RequestMetadata `json:"metadata"`
QueryParams map[string]string `json:"query_params"`
Headers map[string]string `json:"headers"`
}
ParsedRequest represents a parsed HTTP request in structured format
type RemoteFetcher ¶
type RemoteFetcher struct {
// contains filtered or unexported fields
}
RemoteFetcher implements RawLogReader interface for fetching rawlog data from remote HTTP endpoints
func NewRemoteFetcher ¶
func NewRemoteFetcher(baseURL string) *RemoteFetcher
NewRemoteFetcher creates a new RemoteFetcher instance
func (*RemoteFetcher) ClearCache ¶
func (f *RemoteFetcher) ClearCache()
ClearCache clears all cached data
func (*RemoteFetcher) GetContent ¶
func (f *RemoteFetcher) GetContent(itemID string) ([]byte, error)
GetContent implements receiver.RawLogReader interface
func (*RemoteFetcher) ListItems ¶
func (f *RemoteFetcher) ListItems() ([]receiver.RawLogItem, error)
ListItems implements receiver.RawLogReader interface
func (*RemoteFetcher) SetCacheTTL ¶
func (f *RemoteFetcher) SetCacheTTL(itemsTTL, contentTTL time.Duration)
SetCacheTTL allows configuring cache TTL values
type RequestItem ¶
type RequestItem struct {
ID string `json:"id"` // Unique ID: {rawlogID}_{requestIndex}
RawlogID string `json:"rawlog_id"` // Original rawlog file ID
RequestIndex int `json:"request_index"` // Index within the rawlog file (0-based)
Timestamp time.Time `json:"timestamp"` // Timestamp of the rawlog file
FormattedTime string `json:"formatted_time"` // Human-readable timestamp
Request ParsedRequest `json:"request"` // Parsed request data
}
RequestItem represents an individual request within a rawlog file
type RequestMetadata ¶
type RequestMetadata struct {
Timestamp string `json:"timestamp"`
Method string `json:"method"`
Path string `json:"path"`
}
RequestMetadata contains metadata about the HTTP request
type RequestParser ¶
type RequestParser struct{}
RequestParser handles parsing of raw HTTP requests from rawlog content
func NewRequestParser ¶
func NewRequestParser() *RequestParser
NewRequestParser creates a new RequestParser instance
func (*RequestParser) ConvertToJSON ¶
func (p *RequestParser) ConvertToJSON(requests []ParsedRequest) ([]byte, error)
ConvertToJSON converts parsed requests to JSON format
func (*RequestParser) ExtractTimestampFromHeaders ¶
func (p *RequestParser) ExtractTimestampFromHeaders(parsed *ParsedRequest)
ExtractTimestampFromHeaders attempts to extract timestamp from request headers or query params
func (*RequestParser) NormalizeHeaders ¶
func (p *RequestParser) NormalizeHeaders(headers map[string]string) map[string]string
NormalizeHeaders applies case normalization to headers (already done in parseHTTPRequest)
func (*RequestParser) ParseAndConvert ¶
func (p *RequestParser) ParseAndConvert(content []byte) ([]byte, error)
ParseAndConvert is a convenience method that parses rawlog content and converts to JSON
func (*RequestParser) ParseRawlogContent ¶
func (p *RequestParser) ParseRawlogContent(content []byte) ([]ParsedRequest, error)
ParseRawlogContent parses raw HTTP request(s) from rawlog content and converts to structured JSON
func (*RequestParser) SetTimestamp ¶
func (p *RequestParser) SetTimestamp(parsed *ParsedRequest, timestamp time.Time)
SetTimestamp updates the timestamp in parsed request metadata
func (*RequestParser) ValidateRequest ¶
func (p *RequestParser) ValidateRequest(parsed ParsedRequest) error
ValidateRequest performs basic validation on a parsed request