rendering

package
v0.0.0-...-4fa2157 Latest Latest
Warning

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

Go to latest
Published: Jan 2, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package rendering provides stateful event rendering service.

State of the rendering service should be set from the main event dispatch thread prior to releasing threads that are registered for the event.

Example of INVOKE event:

[thread] // suspended in READY state

[main] // set renderer for INVOKE event [main] renderingService.SetRenderer(rendering.NewInvokeRenderer()) [main] // release threads registered for INVOKE event

[thread] // receives INVOKE event

Index

Constants

View Source
const (
	// ErrorTypeInternalServerError error type for internal server error
	ErrorTypeInternalServerError = "InternalServerError"
	// ErrorTypeInvalidStateTransition error type for invalid state transition
	ErrorTypeInvalidStateTransition = "InvalidStateTransition"
	// ErrorTypeInvalidRequestID error type for invalid request ID error
	ErrorTypeInvalidRequestID = "InvalidRequestID"
	// ErrorTypeRequestEntityTooLarge error type for payload too large
	ErrorTypeRequestEntityTooLarge = "RequestEntityTooLarge"
	// ErrorTypeTruncatedHTTPRequest error type for truncated HTTP request
	ErrorTypeTruncatedHTTPRequest = "TruncatedHTTPRequest"
)

Variables

View Source
var ErrRenderingServiceStateNotSet = errors.New("EventRenderingService state not set")

ErrRenderingServiceStateNotSet returned when state not set

Functions

func RenderAccepted

func RenderAccepted(w http.ResponseWriter, r *http.Request)

RenderAccepted method for rendering accepted status response

func RenderForbiddenWithTypeMsg

func RenderForbiddenWithTypeMsg(w http.ResponseWriter, r *http.Request, errorType string, format string, args ...interface{})

RenderForbiddenWithTypeMsg method for rendering error response

func RenderInternalServerError

func RenderInternalServerError(w http.ResponseWriter, r *http.Request)

RenderInternalServerError method for rendering error response

func RenderInteropError

func RenderInteropError(writer http.ResponseWriter, request *http.Request, err error)

RenderInteropError is a convenience method for interpreting interop errors

func RenderInvalidFunctionResponseMode

func RenderInvalidFunctionResponseMode(w http.ResponseWriter, r *http.Request)

RenderInvalidFunctionResponseMode renders invalid function response mode response

func RenderInvalidRequestID

func RenderInvalidRequestID(w http.ResponseWriter, r *http.Request)

RenderInvalidRequestID renders invalid request ID error response

func RenderJSON

func RenderJSON(status int, w http.ResponseWriter, r *http.Request, v interface{}) error

RenderJSON: - marshals 'v' to JSON, automatically escaping HTML - sets the Content-Type as application/json - sets the HTTP response status code - returns an error if it occurred before writing to response TODO: r *http.Request is not used, remove it

func RenderRequestEntityTooLarge

func RenderRequestEntityTooLarge(w http.ResponseWriter, r *http.Request)

RenderRequestEntityTooLarge method for rendering error response

func RenderRuntimeLogsResponse

func RenderRuntimeLogsResponse(w http.ResponseWriter, respBody []byte, status int, headers map[string][]string) error

RenderRuntimeLogsResponse renders response from Telemetry API

func RenderTruncatedHTTPRequestError

func RenderTruncatedHTTPRequestError(w http.ResponseWriter, r *http.Request)

RenderTruncatedHTTPRequestError method for rendering error response

Types

type EventRenderingService

type EventRenderingService struct {
	// contains filtered or unexported fields
}

EventRenderingService is a state machine for rendering runtime and agent API responses.

func NewRenderingService

func NewRenderingService() *EventRenderingService

NewRenderingService returns new EventRenderingService.

func (*EventRenderingService) RenderAgentEvent

func (s *EventRenderingService) RenderAgentEvent(w http.ResponseWriter, r *http.Request) error

RenderAgentEvent delegates to state implementation.

func (*EventRenderingService) RenderRuntimeEvent

func (s *EventRenderingService) RenderRuntimeEvent(w http.ResponseWriter, r *http.Request) error

RenderRuntimeEvent delegates to state implementation.

func (*EventRenderingService) SetRenderer

func (s *EventRenderingService) SetRenderer(state RendererState)

SetRenderer set current state

type InvokeRenderer

type InvokeRenderer struct {
	// contains filtered or unexported fields
}

InvokeRenderer knows how to render invoke event.

func NewInvokeRenderer

func NewInvokeRenderer(ctx context.Context, invoke *interop.Invoke, requestBuffer *bytes.Buffer, traceParser func(context.Context) string) *InvokeRenderer

NewInvokeRenderer returns new invoke event renderer

func (*InvokeRenderer) GetMetrics

func (s *InvokeRenderer) GetMetrics() InvokeRendererMetrics

func (*InvokeRenderer) RenderAgentEvent

func (s *InvokeRenderer) RenderAgentEvent(writer http.ResponseWriter, request *http.Request) error

RenderAgentEvent renders invoke event json for agent.

func (*InvokeRenderer) RenderRuntimeEvent

func (s *InvokeRenderer) RenderRuntimeEvent(writer http.ResponseWriter, request *http.Request) error

RenderRuntimeEvent renders invoke payload for runtime.

type InvokeRendererMetrics

type InvokeRendererMetrics struct {
	ReadTime  time.Duration
	SizeBytes int
}

InvokeRendererMetrics contains metrics of invoke request

type RendererState

type RendererState interface {
	RenderAgentEvent(w http.ResponseWriter, r *http.Request) error
	RenderRuntimeEvent(w http.ResponseWriter, r *http.Request) error
}

RendererState is renderer object state.

type RestoreRenderer

type RestoreRenderer struct{}

func NewRestoreRenderer

func NewRestoreRenderer() *RestoreRenderer

func (*RestoreRenderer) RenderAgentEvent

func (s *RestoreRenderer) RenderAgentEvent(writer http.ResponseWriter, request *http.Request) error

func (*RestoreRenderer) RenderRuntimeEvent

func (s *RestoreRenderer) RenderRuntimeEvent(writer http.ResponseWriter, request *http.Request) error

type ShutdownRenderer

type ShutdownRenderer struct {
	AgentEvent model.AgentShutdownEvent
}

ShutdownRenderer renderer for shutdown event.

func (*ShutdownRenderer) RenderAgentEvent

func (s *ShutdownRenderer) RenderAgentEvent(w http.ResponseWriter, r *http.Request) error

RenderAgentEvent renders shutdown event for agent.

func (*ShutdownRenderer) RenderRuntimeEvent

func (s *ShutdownRenderer) RenderRuntimeEvent(w http.ResponseWriter, r *http.Request) error

RenderRuntimeEvent renders shutdown event for runtime.

Jump to

Keyboard shortcuts

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