core

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: May 29, 2025 License: Apache-2.0 Imports: 8 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Context

type Context struct {
	UserID string `json:"userId,omitempty"`
	Source string `json:"source,omitempty"`
}

--- Estruturas de Dados --- Context contém informações de contexto da requisição - UserID: ID do usuário - Source: Origem da solicitação

type EngineContext

type EngineContext struct {
	RequestSchema  *schema.Schema                     // Definição de schema simplificada
	ResponseSchema *schema.Schema                     // Definição de schema simplificada
	Policies       map[string]policy.PolicyDefinition // Mapa do nome da política para sua definição
	InputType      string                             // Ex: "APIGatewayProxy", "ALB", "Local"
}

EngineContext mantém a configuração para o motor de processamento de requisições.

func NewEngineContext

func NewEngineContext(reqSchema, respSchema *schema.Schema, policiesConfig map[string]policy.PolicyDefinition, inputType string) *EngineContext

NewEngineContext cria um novo contexto de motor.

func (*EngineContext) ExecutePolicies

func (ec *EngineContext) ExecutePolicies(data map[string]interface{}, policyNames []string) ([]policy.PolicyExecutionResult, bool)

ExecutePolicies executa as políticas especificadas contra os dados.

func (*EngineContext) ProcessRequest

func (ec *EngineContext) ProcessRequest(rawRequestBody []byte) (map[string]interface{}, error)

ProcessRequest lida com uma string de requisição raw.

type Request

type Request struct {
	ID        string                 `json:"id"`
	Timestamp string                 `json:"timestamp,omitempty"`
	Context   *Context               `json:"context,omitempty"`
	Data      map[string]interface{} `json:"data"`
	Policies  []string               `json:"policies"`
}

Request representa a estrutura da requisição recebida - ID: Identificador único da solicitação - Timestamp: Data e hora da solicitação (opcional) - Data: Dados para aplicação das políticas (obrigatório) - Context: Contexto da solicitação (opcional) - Lista de políticas a serem aplicadas (obrigatório)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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