Documentation
¶
Index ¶
- Constants
- func InitGlobalHeaderConfig(configPath string) error
- func TypeStrings() []string
- type DynamicHeaderConfig
- type DynamicRequestHeader
- func (r DynamicRequestHeader) GetBank() string
- func (r DynamicRequestHeader) GetBranch() string
- func (r *DynamicRequestHeader) GetDynamicHeader(key string) string
- func (r *DynamicRequestHeader) GetDynamicHeaderWithDefault(key string) string
- func (r *DynamicRequestHeader) GetHeaderMap() map[string]string
- func (r DynamicRequestHeader) GetId() string
- func (r DynamicRequestHeader) GetMethod() string
- func (r DynamicRequestHeader) GetModule() string
- func (r DynamicRequestHeader) GetPerson() string
- func (r DynamicRequestHeader) GetProgram() string
- func (r DynamicRequestHeader) GetUser() string
- func (r *DynamicRequestHeader) SetBank(bank string)
- func (r *DynamicRequestHeader) SetBranch(branch string)
- func (r *DynamicRequestHeader) SetDynamicHeader(key, value string)
- func (r *DynamicRequestHeader) SetMethod(method string)
- func (r *DynamicRequestHeader) SetModule(module string)
- func (r *DynamicRequestHeader) SetPerson(person string)
- func (r *DynamicRequestHeader) SetProgram(program string)
- func (r *DynamicRequestHeader) SetUser(user string)
- func (r *DynamicRequestHeader) ValidateDynamicHeaders() error
- type EventData
- type HeaderConfig
- type HeaderConfigLoader
- func (h *HeaderConfigLoader) GetConfig() *DynamicHeaderConfig
- func (h *HeaderConfigLoader) GetHeaderConfig(headerName string) (HeaderConfig, bool)
- func (h *HeaderConfigLoader) GetHeaderNames() []string
- func (h *HeaderConfigLoader) IsHeaderRequired(headerName string) bool
- func (h *HeaderConfigLoader) LoadConfig() error
- func (h *HeaderConfigLoader) LoadConfigFromEnv() error
- func (h *HeaderConfigLoader) ValidateConfig() error
- type HeaderMigration
- func (m *HeaderMigration) AddLegacyMapping(legacyName, newName string)
- func (m *HeaderMigration) ConvertLegacyHeaderName(legacyName string) string
- func (m *HeaderMigration) CreateDynamicHeaderFromMap(headers map[string]string) *DynamicRequestHeader
- func (m *HeaderMigration) GetHeaderDifferences(header1, header2 interface{}) []string
- func (m *HeaderMigration) GetLegacyMappings() map[string]string
- func (m *HeaderMigration) MigrateFromLegacyHeader(legacy *RequestHeader) *DynamicRequestHeader
- func (m *HeaderMigration) MigrateToLegacyHeader(dynamic *DynamicRequestHeader) *RequestHeader
- func (m *HeaderMigration) ValidateMigration(legacy *RequestHeader, dynamic *DynamicRequestHeader) error
- type LogData
- type LogRequest
- func (l LogRequest) CheckDuplicateRequest(request RequestPtr) error
- func (l LogRequest) InitRequest(c webFramework.WebFramework, method, url string) error
- func (l LogRequest) Initialize(c webFramework.WebFramework, method, url string, req RequestPtr, args ...any) (int, map[string]string, error)
- func (l LogRequest) InitializeNoLog(c webFramework.WebFramework, method, url string, req RequestPtr, args ...any) (int, map[string]string, error)
- func (l LogRequest) InsertRequest(req RequestPtr) error
- func (l LogRequest) UpdateRequestWithContext(ctx context.Context, req RequestPtr) error
- type PaginationData
- type ParseParams
- type ParseResult
- type Request
- type RequestHeader
- func (r RequestHeader) GetBank() string
- func (r RequestHeader) GetBranch() string
- func (r RequestHeader) GetId() string
- func (r RequestHeader) GetMethod() string
- func (r RequestHeader) GetModule() string
- func (r RequestHeader) GetPerson() string
- func (r RequestHeader) GetProgram() string
- func (r RequestHeader) GetUser() string
- func (r *RequestHeader) SetBank(bank string)
- func (r *RequestHeader) SetBranch(branch string)
- func (r *RequestHeader) SetMethod(method string)
- func (r *RequestHeader) SetModule(module string)
- func (r *RequestHeader) SetPerson(person string)
- func (r *RequestHeader) SetProgram(program string)
- func (r *RequestHeader) SetUser(user string)
- type RequestInterface
- type RequestModel
- func (m RequestModel) CheckDuplicateRequest(request RequestPtr) error
- func (m RequestModel) InitRequest(w webFramework.WebFramework, method, url string) error
- func (m RequestModel) Initialize(w webFramework.WebFramework, method, url string, req RequestPtr, args ...any) (int, map[string]string, error)
- func (m RequestModel) InitializeNoLog(w webFramework.WebFramework, method, url string, req RequestPtr, args ...any) (int, map[string]string, error)
- func (m RequestModel) InsertRequest(request RequestPtr) error
- func (m RequestModel) InsertRequestWithContext(ctx context.Context, request RequestPtr) error
- func (m RequestModel) UpdateRequest(request RequestPtr) error
- func (m RequestModel) UpdateRequestWithContext(ctx context.Context, request RequestPtr) error
- type RequestPtr
- type Type
Constants ¶
const ErrorInGetRequest = "ERROR_IN_GET_REQUEST_%s"
const ModuleName = "RequestHandler"
const PaginationLocalTag string = "pagination"
Variables ¶
This section is empty.
Functions ¶
func InitGlobalHeaderConfig ¶ added in v0.18.0
InitGlobalHeaderConfig initializes the global header configuration
func TypeStrings ¶ added in v0.5.7
func TypeStrings() []string
TypeStrings returns a slice of all String values of the enum
Types ¶
type DynamicHeaderConfig ¶ added in v0.18.0
type DynamicHeaderConfig struct {
// Required headers that must be present
RequiredHeaders map[string]HeaderConfig `yaml:"required"`
// Optional headers that can be present
OptionalHeaders map[string]HeaderConfig `yaml:"optional"`
// Custom headers that can be dynamically added
CustomHeaders map[string]HeaderConfig `yaml:"custom"`
}
DynamicHeaderConfig defines the configuration for dynamic headers
func GetGlobalHeaderConfig ¶ added in v0.18.0
func GetGlobalHeaderConfig() *DynamicHeaderConfig
GetGlobalHeaderConfig returns the global header configuration
type DynamicRequestHeader ¶ added in v0.18.0
type DynamicRequestHeader struct {
// Core headers that are always present
RequestId string `header:"Request-Id" reqHeader:"Request-Id" validate:"required,min=10,max=64"`
Program string `header:"Program-Id" reqHeader:"Program-Id"`
Module string `header:"Module-Id" reqHeader:"Module-Id"`
Method string `header:"Method-Id" reqHeader:"Method-Id"`
User string `header:"User-Id" reqHeader:"User-Id"`
// Dynamic headers stored as key-value pairs
DynamicHeaders map[string]string `json:"dynamicHeaders"`
// Configuration for header validation
Config *DynamicHeaderConfig `json:"-"`
}
DynamicRequestHeader represents a dynamic header structure
func CreateDynamicRequestHeader ¶ added in v0.18.0
func CreateDynamicRequestHeader() *DynamicRequestHeader
CreateDynamicRequestHeader creates a new dynamic request header with global configuration
func NewDynamicRequestHeader ¶ added in v0.18.0
func NewDynamicRequestHeader(config *DynamicHeaderConfig) *DynamicRequestHeader
NewDynamicRequestHeader creates a new dynamic request header with configuration
func (DynamicRequestHeader) GetBank ¶ added in v0.18.0
func (r DynamicRequestHeader) GetBank() string
func (DynamicRequestHeader) GetBranch ¶ added in v0.18.0
func (r DynamicRequestHeader) GetBranch() string
func (*DynamicRequestHeader) GetDynamicHeader ¶ added in v0.18.0
func (r *DynamicRequestHeader) GetDynamicHeader(key string) string
GetDynamicHeader gets a dynamic header value
func (*DynamicRequestHeader) GetDynamicHeaderWithDefault ¶ added in v0.18.0
func (r *DynamicRequestHeader) GetDynamicHeaderWithDefault(key string) string
GetDynamicHeaderWithDefault gets a dynamic header value with default fallback
func (*DynamicRequestHeader) GetHeaderMap ¶ added in v0.18.0
func (r *DynamicRequestHeader) GetHeaderMap() map[string]string
GetHeaderMap returns all headers as a map for easy access
func (DynamicRequestHeader) GetId ¶ added in v0.18.0
func (r DynamicRequestHeader) GetId() string
Dynamic header compatibility methods
func (DynamicRequestHeader) GetMethod ¶ added in v0.18.0
func (r DynamicRequestHeader) GetMethod() string
func (DynamicRequestHeader) GetModule ¶ added in v0.18.0
func (r DynamicRequestHeader) GetModule() string
func (DynamicRequestHeader) GetPerson ¶ added in v0.18.0
func (r DynamicRequestHeader) GetPerson() string
func (DynamicRequestHeader) GetProgram ¶ added in v0.18.0
func (r DynamicRequestHeader) GetProgram() string
func (DynamicRequestHeader) GetUser ¶ added in v0.18.0
func (r DynamicRequestHeader) GetUser() string
func (*DynamicRequestHeader) SetBank ¶ added in v0.18.0
func (r *DynamicRequestHeader) SetBank(bank string)
func (*DynamicRequestHeader) SetBranch ¶ added in v0.18.0
func (r *DynamicRequestHeader) SetBranch(branch string)
func (*DynamicRequestHeader) SetDynamicHeader ¶ added in v0.18.0
func (r *DynamicRequestHeader) SetDynamicHeader(key, value string)
SetDynamicHeader sets a dynamic header value
func (*DynamicRequestHeader) SetMethod ¶ added in v0.18.0
func (r *DynamicRequestHeader) SetMethod(method string)
func (*DynamicRequestHeader) SetModule ¶ added in v0.18.0
func (r *DynamicRequestHeader) SetModule(module string)
func (*DynamicRequestHeader) SetPerson ¶ added in v0.18.0
func (r *DynamicRequestHeader) SetPerson(person string)
func (*DynamicRequestHeader) SetProgram ¶ added in v0.18.0
func (r *DynamicRequestHeader) SetProgram(program string)
func (*DynamicRequestHeader) SetUser ¶ added in v0.18.0
func (r *DynamicRequestHeader) SetUser(user string)
func (*DynamicRequestHeader) ValidateDynamicHeaders ¶ added in v0.18.0
func (r *DynamicRequestHeader) ValidateDynamicHeaders() error
ValidateDynamicHeaders validates all dynamic headers against their configuration
type HeaderConfig ¶ added in v0.18.0
type HeaderConfig struct {
HeaderName string `yaml:"headerName"` // The actual HTTP header name
Required bool `yaml:"required"` // Whether this header is required
MinLength int `yaml:"minLength"` // Minimum length validation
MaxLength int `yaml:"maxLength"` // Maximum length validation
DefaultValue string `yaml:"defaultValue"` // Default value if not provided
ValidationRule string `yaml:"validationRule"` // Custom validation rule
Description string `yaml:"description"` // Description for documentation
}
HeaderConfig defines the configuration for a single header
type HeaderConfigLoader ¶ added in v0.18.0
type HeaderConfigLoader struct {
// contains filtered or unexported fields
}
HeaderConfigLoader handles loading and managing dynamic header configurations
func NewHeaderConfigLoader ¶ added in v0.18.0
func NewHeaderConfigLoader(configPath string) *HeaderConfigLoader
NewHeaderConfigLoader creates a new header configuration loader
func (*HeaderConfigLoader) GetConfig ¶ added in v0.18.0
func (h *HeaderConfigLoader) GetConfig() *DynamicHeaderConfig
GetConfig returns the loaded configuration
func (*HeaderConfigLoader) GetHeaderConfig ¶ added in v0.18.0
func (h *HeaderConfigLoader) GetHeaderConfig(headerName string) (HeaderConfig, bool)
GetHeaderConfig returns the configuration for a specific header
func (*HeaderConfigLoader) GetHeaderNames ¶ added in v0.18.0
func (h *HeaderConfigLoader) GetHeaderNames() []string
GetHeaderNames returns all configured header names
func (*HeaderConfigLoader) IsHeaderRequired ¶ added in v0.18.0
func (h *HeaderConfigLoader) IsHeaderRequired(headerName string) bool
IsHeaderRequired checks if a header is required
func (*HeaderConfigLoader) LoadConfig ¶ added in v0.18.0
func (h *HeaderConfigLoader) LoadConfig() error
LoadConfig loads the header configuration from the specified file
func (*HeaderConfigLoader) LoadConfigFromEnv ¶ added in v0.18.0
func (h *HeaderConfigLoader) LoadConfigFromEnv() error
LoadConfigFromEnv loads configuration from environment variables
func (*HeaderConfigLoader) ValidateConfig ¶ added in v0.18.0
func (h *HeaderConfigLoader) ValidateConfig() error
ValidateConfig validates the loaded configuration
type HeaderMigration ¶ added in v0.18.0
type HeaderMigration struct {
// contains filtered or unexported fields
}
HeaderMigration provides utilities for migrating from fixed headers to dynamic headers
func GetGlobalMigration ¶ added in v0.18.0
func GetGlobalMigration() *HeaderMigration
GetGlobalMigration returns the global migration instance
func NewHeaderMigration ¶ added in v0.18.0
func NewHeaderMigration() *HeaderMigration
NewHeaderMigration creates a new header migration utility
func (*HeaderMigration) AddLegacyMapping ¶ added in v0.18.0
func (m *HeaderMigration) AddLegacyMapping(legacyName, newName string)
AddLegacyMapping adds a new legacy mapping
func (*HeaderMigration) ConvertLegacyHeaderName ¶ added in v0.18.0
func (m *HeaderMigration) ConvertLegacyHeaderName(legacyName string) string
ConvertLegacyHeaderName converts legacy header names to new format
func (*HeaderMigration) CreateDynamicHeaderFromMap ¶ added in v0.18.0
func (m *HeaderMigration) CreateDynamicHeaderFromMap(headers map[string]string) *DynamicRequestHeader
CreateDynamicHeaderFromMap creates a DynamicRequestHeader from a map of headers
func (*HeaderMigration) GetHeaderDifferences ¶ added in v0.18.0
func (m *HeaderMigration) GetHeaderDifferences(header1, header2 interface{}) []string
GetHeaderDifferences compares two header structures and returns differences
func (*HeaderMigration) GetLegacyMappings ¶ added in v0.18.0
func (m *HeaderMigration) GetLegacyMappings() map[string]string
GetLegacyMappings returns all legacy mappings
func (*HeaderMigration) MigrateFromLegacyHeader ¶ added in v0.18.0
func (m *HeaderMigration) MigrateFromLegacyHeader(legacy *RequestHeader) *DynamicRequestHeader
MigrateFromLegacyHeader migrates a legacy RequestHeader to DynamicRequestHeader
func (*HeaderMigration) MigrateToLegacyHeader ¶ added in v0.18.0
func (m *HeaderMigration) MigrateToLegacyHeader(dynamic *DynamicRequestHeader) *RequestHeader
MigrateToLegacyHeader migrates a DynamicRequestHeader to legacy RequestHeader
func (*HeaderMigration) ValidateMigration ¶ added in v0.18.0
func (m *HeaderMigration) ValidateMigration(legacy *RequestHeader, dynamic *DynamicRequestHeader) error
ValidateMigration validates that a migration was successful
type LogRequest ¶ added in v0.11.19
type LogRequest struct {
}
func (LogRequest) CheckDuplicateRequest ¶ added in v0.11.19
func (l LogRequest) CheckDuplicateRequest(request RequestPtr) error
func (LogRequest) InitRequest ¶ added in v0.11.19
func (l LogRequest) InitRequest(c webFramework.WebFramework, method, url string) error
func (LogRequest) Initialize ¶ added in v0.11.19
func (l LogRequest) Initialize(c webFramework.WebFramework, method, url string, req RequestPtr, args ...any) (int, map[string]string, error)
func (LogRequest) InitializeNoLog ¶ added in v0.11.19
func (l LogRequest) InitializeNoLog(c webFramework.WebFramework, method, url string, req RequestPtr, args ...any) (int, map[string]string, error)
func (LogRequest) InsertRequest ¶ added in v0.11.19
func (l LogRequest) InsertRequest(req RequestPtr) error
func (LogRequest) UpdateRequestWithContext ¶ added in v0.11.19
func (l LogRequest) UpdateRequestWithContext(ctx context.Context, req RequestPtr) error
type PaginationData ¶ added in v0.10.29
type PaginationData struct {
Start int `form:"_start" query:"_start" validate:"omitempty"`
End int `form:"_end" query:"_end" validate:"omitempty"`
Filters string `form:"_filters" query:"_filters" validate:"omitempty"`
Sort string `form:"_sort" query:"_sort" validate:"omitempty"`
Order string `form:"_order" query:"_order" validate:"omitempty,oneof=asc desc"`
}
type ParseParams ¶ added in v0.15.0
type ParseParams struct {
W webFramework.WebFramework
Mode Type
ValidateHeader bool
Header webFramework.HeaderInterface
Name string
StoreTags []string
StoreHeaders []string
}
type ParseResult ¶ added in v0.15.0
type ParseResult[Req any] struct { Request Req RequestPtr RequestPtr }
func GetRequest ¶
func GetRequest[Q any](w webFramework.WebFramework, isJson bool) (*ParseResult[Q], error)
func Req ¶ added in v0.2.0
func Req[Req any, Header any, PT interface { webFramework.HeaderInterface *Header }](params ParseParams) (*ParseResult[Req], error)
type Request ¶
type Request struct {
Header webFramework.HeaderInterface `json:"header"`
Id string `json:"id"`
RequestId string `json:"request_id"`
Time time.Time `json:"dt"`
Incoming any `json:"incoming"`
Req string `json:"req"`
Resp string `json:"resp"`
Outgoing any `json:"outgoing"`
Tags map[string]string `json:"tags"`
Result string `json:"result"`
// Tracing fields
TraceID string `json:"trace_id"`
SpanID string `json:"span_id"`
Sampled bool `json:"sampled"`
}
func (*Request) GetTraceContext ¶ added in v0.18.0
func (r *Request) GetTraceContext() trace.SpanContext
func (*Request) HasTraceContext ¶ added in v0.18.0
func (*Request) SetTraceContext ¶ added in v0.18.0
func (r *Request) SetTraceContext(spanCtx trace.SpanContext)
Tracing methods for Request
type RequestHeader ¶
type RequestHeader struct {
RequestId string `header:"Request-Id" reqHeader:"Request-Id" validate:"required,min=10,max=64"`
Program string `header:"Program-Id" reqHeader:"Program-Id"`
Module string `header:"Module-Id" reqHeader:"Module-Id"`
Method string `header:"Method-Id" reqHeader:"Method-Id"`
User string `header:"User-Id" reqHeader:"User-Id"`
Branch string `header:"Branch-Id" reqHeader:"Branch-Id"`
Bank string `header:"Bank-Id" reqHeader:"Bank-Id"`
Person string `header:"Person-Id" reqHeader:"Person-Id"`
}
func ParseRequest ¶ added in v0.9.0
func ParseRequest[Req any]( w webFramework.WebFramework, mode Type, validateHeader bool, ) (*Req, *RequestHeader, error)
func (RequestHeader) GetBank ¶ added in v0.4.7
func (r RequestHeader) GetBank() string
func (RequestHeader) GetBranch ¶ added in v0.4.7
func (r RequestHeader) GetBranch() string
func (RequestHeader) GetId ¶ added in v0.2.0
func (r RequestHeader) GetId() string
func (RequestHeader) GetMethod ¶ added in v0.2.0
func (r RequestHeader) GetMethod() string
func (RequestHeader) GetModule ¶ added in v0.2.0
func (r RequestHeader) GetModule() string
func (RequestHeader) GetPerson ¶ added in v0.4.7
func (r RequestHeader) GetPerson() string
func (RequestHeader) GetProgram ¶ added in v0.2.0
func (r RequestHeader) GetProgram() string
func (RequestHeader) GetUser ¶ added in v0.2.0
func (r RequestHeader) GetUser() string
func (*RequestHeader) SetBank ¶ added in v0.4.7
func (r *RequestHeader) SetBank(bank string)
func (*RequestHeader) SetBranch ¶ added in v0.4.7
func (r *RequestHeader) SetBranch(branch string)
func (*RequestHeader) SetMethod ¶ added in v0.2.0
func (r *RequestHeader) SetMethod(method string)
func (*RequestHeader) SetModule ¶ added in v0.2.0
func (r *RequestHeader) SetModule(module string)
func (*RequestHeader) SetPerson ¶ added in v0.4.7
func (r *RequestHeader) SetPerson(person string)
func (*RequestHeader) SetProgram ¶ added in v0.2.0
func (r *RequestHeader) SetProgram(program string)
func (*RequestHeader) SetUser ¶ added in v0.2.0
func (r *RequestHeader) SetUser(user string)
type RequestInterface ¶
type RequestInterface interface {
Initialize(c webFramework.WebFramework, method, url string, req RequestPtr, args ...any) (int, map[string]string, error)
InitRequest(c webFramework.WebFramework, method, url string) error
InitializeNoLog(c webFramework.WebFramework, method, url string, req RequestPtr, args ...any) (int, map[string]string, error)
InsertRequest(request RequestPtr) error
CheckDuplicateRequest(request RequestPtr) error
UpdateRequestWithContext(ctx context.Context, request RequestPtr) error
}
type RequestModel ¶
type RequestModel struct {
QueryInterface libQuery.QueryRunnerInterface
InsertInDb string
UpdateInDb string
QueryInDb string
}
func (RequestModel) CheckDuplicateRequest ¶
func (m RequestModel) CheckDuplicateRequest(request RequestPtr) error
func (RequestModel) InitRequest ¶ added in v0.9.1
func (m RequestModel) InitRequest(w webFramework.WebFramework, method, url string) error
func (RequestModel) Initialize ¶
func (m RequestModel) Initialize(w webFramework.WebFramework, method, url string, req RequestPtr, args ...any) (int, map[string]string, error)
func (RequestModel) InitializeNoLog ¶
func (m RequestModel) InitializeNoLog(w webFramework.WebFramework, method, url string, req RequestPtr, args ...any) (int, map[string]string, error)
func (RequestModel) InsertRequest ¶
func (m RequestModel) InsertRequest(request RequestPtr) error
func (RequestModel) InsertRequestWithContext ¶ added in v0.6.10
func (m RequestModel) InsertRequestWithContext(ctx context.Context, request RequestPtr) error
func (RequestModel) UpdateRequest ¶
func (m RequestModel) UpdateRequest(request RequestPtr) error
func (RequestModel) UpdateRequestWithContext ¶ added in v0.6.10
func (m RequestModel) UpdateRequestWithContext(ctx context.Context, request RequestPtr) error
type RequestPtr ¶ added in v0.9.0
type RequestPtr *Request
type Type ¶ added in v0.5.7
type Type int
func TypeString ¶ added in v0.5.7
TypeString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.
func TypeValues ¶ added in v0.5.7
func TypeValues() []Type
TypeValues returns all values of the enum
func (Type) IsAType ¶ added in v0.5.7
IsAType returns "true" if the value is listed in the enum definition. "false" otherwise
func (Type) MarshalJSON ¶ added in v0.5.7
MarshalJSON implements the json.Marshaler interface for Type
func (*Type) UnmarshalJSON ¶ added in v0.5.7
UnmarshalJSON implements the json.Unmarshaler interface for Type