validator

package
v0.9.1 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2025 License: MPL-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrCodeMethodAndPathNotFound               = "method_and_path_not_found"
	ErrCodeRequiredBodyMissed                  = "required_body_missed"
	ErrCodeRequiredBodyParseError              = "required_body_parse_error"
	ErrCodeRequiredBodyParameterMissed         = "required_body_parameter_missed"
	ErrCodeRequiredBodyParameterInvalidValue   = "required_body_parameter_invalid_value"
	ErrCodeRequiredPathParameterMissed         = "required_path_parameter_missed"
	ErrCodeRequiredPathParameterInvalidValue   = "required_path_parameter_invalid_value"
	ErrCodeRequiredQueryParameterMissed        = "required_query_parameter_missed"
	ErrCodeRequiredQueryParameterInvalidValue  = "required_query_parameter_invalid_value"
	ErrCodeRequiredCookieParameterMissed       = "required_cookie_parameter_missed"
	ErrCodeRequiredCookieParameterInvalidValue = "required_cookie_parameter_invalid_value"
	ErrCodeRequiredHeaderMissed                = "required_header_missed"
	ErrCodeRequiredHeaderInvalidValue          = "required_header_invalid_value"

	ErrCodeSecRequirementsFailed = "required_security_requirements_failed"

	ErrCodeUnknownParameterFound = "unknown_parameter_found"

	ErrCodeUnknownValidationError = "unknown_validation_error"
)
View Source
const (
	APIModePostfixStatusCode       = "_status_code"
	APIModePostfixValidationErrors = "_validation_errors"
)

Variables

View Source
var (
	ErrMethodAndPathNotFound    = errors.New("method and path are not found")
	ErrAuthHeaderMissed         = errors.New("missing Authorization header")
	ErrAPITokenMissed           = errors.New("missing API keys for authorization")
	ErrRequiredBodyIsMissing    = errors.New("required body is missing")
	ErrMissedRequiredParameters = errors.New("required parameters missed")

	ErrSchemaNotFound = fmt.Errorf("schema not found")
	ErrRequestParsing = fmt.Errorf("request parsing error")
	ErrSpecParsing    = fmt.Errorf("OpenAPI specification parsing error")
	ErrSpecValidation = fmt.Errorf("OpenAPI specification validator error")
	ErrSpecLoading    = fmt.Errorf("OpenAPI specifications reading from database error")
	ErrHandlersInit   = fmt.Errorf("handlers initialization error")
)
View Source
var (
	StatusOK                  int = fasthttp.StatusOK
	StatusForbidden           int = fasthttp.StatusForbidden
	StatusInternalServerError int = fasthttp.StatusInternalServerError
)

Functions

func SampleSlice added in v0.9.1

func SampleSlice[T any](rawData []T, limit int) []T

SampleSlice function samples data in slice and responds by the subset of slice data

Types

type FieldTypeError

type FieldTypeError struct {
	Name         string `json:"name"`
	ExpectedType string `json:"expected_type,omitempty"`
	Pattern      string `json:"pattern,omitempty"`
	CurrentValue string `json:"current_value,omitempty"`
}

type ValidationError

type ValidationError struct {
	Message       string           `json:"message"`
	Code          string           `json:"code"`
	SchemaVersion string           `json:"schema_version,omitempty"`
	SchemaID      *int             `json:"schema_id"`
	Fields        []string         `json:"related_fields,omitempty"`
	FieldsDetails []FieldTypeError `json:"related_fields_details,omitempty"`
}

type ValidationResponse

type ValidationResponse struct {
	Summary []*ValidationResponseSummary `json:"summary"`
	Errors  []*ValidationError           `json:"errors,omitempty"`
}

func ProcessRequest

func ProcessRequest(schemaID int, ctx *fasthttp.RequestCtx, routers map[int]*router.Mux, lock *sync.RWMutex, passOptionsRequests bool, maxErrorsInResponse int) (resp *ValidationResponse, err error)

type ValidationResponseSummary

type ValidationResponseSummary struct {
	SchemaID   *int `json:"schema_id"`
	StatusCode *int `json:"status_code"`
}

Jump to

Keyboard shortcuts

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