mrparser

package
v0.24.1 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2024 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrHttpRequestFileSizeMin - invalid file size - min.
	ErrHttpRequestFileSizeMin = mrerr.NewProto(
		"errHttpRequestFileSizeMin", mrerr.ErrorKindUser, "invalid file size, min size = {{ .value }}b")

	// ErrHttpRequestFileSizeMax - invalid file size - max.
	ErrHttpRequestFileSizeMax = mrerr.NewProto(
		"errHttpRequestFileSizeMax", mrerr.ErrorKindUser, "invalid file size, max size = {{ .value }}b")

	// ErrHttpRequestFileExtension - invalid file extension.
	ErrHttpRequestFileExtension = mrerr.NewProto(
		"errHttpRequestFileExtension", mrerr.ErrorKindUser, "invalid file extension: {{ .value }}")

	// ErrHttpRequestFileTotalSizeMax - invalid file total size - max.
	ErrHttpRequestFileTotalSizeMax = mrerr.NewProto(
		"errHttpRequestFileTotalSizeMax", mrerr.ErrorKindUser, "invalid file total size, max total size = {{ .value }}b")

	// ErrHttpRequestFileContentType - the content type does not match the detected type.
	ErrHttpRequestFileContentType = mrerr.NewProto(
		"errHttpRequestFileContentType", mrerr.ErrorKindUser, "the content type '{{ .value }}' does not match the detected type")

	// ErrHttpRequestFileUnsupportedType - unsupported file type.
	ErrHttpRequestFileUnsupportedType = mrerr.NewProto(
		"errHttpRequestFileUnsupportedType", mrerr.ErrorKindUser, "unsupported file type '{{ .value }}'")

	// ErrHttpRequestImageWidthMax - invalid image width - max.
	ErrHttpRequestImageWidthMax = mrerr.NewProto(
		"errHttpRequestImageWidthMax", mrerr.ErrorKindUser, "invalid image width, max size = {{ .value }}px")

	// ErrHttpRequestImageHeightMax - invalid image height - max.
	ErrHttpRequestImageHeightMax = mrerr.NewProto(
		"errHttpRequestImageHeightMax", mrerr.ErrorKindUser, "invalid image height, max size = {{ .value }}px")
)

Functions

func WrapFileError added in v0.12.0

func WrapFileError(err error, name string) error

WrapFileError - оборачивает ошибки связанные с парсингом файла.

func WrapImageError added in v0.12.0

func WrapImageError(err error, name string) error

WrapImageError - оборачивает ошибки связанные с парсингом изображения.

Types

type Bool added in v0.12.0

type Bool struct{}

Bool - парсер bool значений.

func NewBool added in v0.12.0

func NewBool() *Bool

NewBool - создаёт объект Bool.

func (*Bool) FilterNullableBool added in v0.12.0

func (p *Bool) FilterNullableBool(r *http.Request, key string) *bool

FilterNullableBool - возвращает bool значение поступившее из внешнего запроса. Если ключ key не найден или возникнет ошибка, то возвращается nil значение.

type DateTime added in v0.12.0

type DateTime struct{}

DateTime - парсер даты и времени.

func NewDateTime added in v0.12.0

func NewDateTime() *DateTime

NewDateTime - создаёт объект DateTime.

func (*DateTime) FilterDateTime added in v0.12.0

func (p *DateTime) FilterDateTime(r *http.Request, key string) time.Time

FilterDateTime - возвращает дата и время поступившие из внешнего запроса. Если ключ key не найден или возникнет ошибка, то возвращается nil значение.

type File added in v0.12.0

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

File - парсер файлов.

func NewFile added in v0.12.0

func NewFile(logger mrlog.Logger, opts FileOptions) *File

NewFile - создаёт объект File.

func (*File) FormFile added in v0.12.0

func (p *File) FormFile(r *http.Request, key string) (mrtype.File, error)

FormFile - возвращает информацию о файле со ссылкой для чтения файла из MultipartForm. WARNING: you don't forget to call result.Body.Close().

func (*File) FormFileContent added in v0.12.0

func (p *File) FormFileContent(r *http.Request, key string) (mrtype.FileContent, error)

FormFileContent - возвращает информацию о файле и сам файл из MultipartForm. WARNING: only for short files.

func (*File) FormFiles added in v0.14.0

func (p *File) FormFiles(r *http.Request, key string) ([]mrtype.FileHeader, error)

FormFiles - возвращает массив заголовков на файлы из MultipartForm.

type FileOptions added in v0.12.0

type FileOptions struct {
	AllowedMimeTypes        *mrlib.MimeTypeList
	MinSize                 int64
	MaxSize                 int64
	MaxTotalSize            int64
	MaxFiles                int
	CheckRequestContentType bool
}

FileOptions - опции для создания объекта File.

type Float64 added in v0.20.3

type Float64 struct{}

Float64 - парсер числа с плавающей запятой.

func NewFloat64 added in v0.20.3

func NewFloat64() *Float64

NewFloat64 - создаёт объект Float64.

func (*Float64) FilterFloat64 added in v0.20.3

func (p *Float64) FilterFloat64(r *http.Request, key string) float64

FilterFloat64 - возвращает число с плавающей запятой поступившее из внешнего запроса. Если ключ key не найден или возникнет ошибка, то возвращается нулевое значение.

func (*Float64) FilterRangeFloat64 added in v0.20.3

func (p *Float64) FilterRangeFloat64(r *http.Request, key string) mrtype.RangeFloat64

FilterRangeFloat64 - возвращает интервал состоящий из двух чисел с плавающей запятой поступивший из внешнего запроса. Если ключ key не найден или возникнет ошибка, то возвращается нулевой интервал.

type Image added in v0.12.0

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

Image - парсер изображений.

func NewImage added in v0.12.0

func NewImage(logger mrlog.Logger, opts ImageOptions) *Image

NewImage - создаёт объект Image.

func (*Image) FormImage added in v0.12.0

func (p *Image) FormImage(r *http.Request, key string) (mrtype.Image, error)

FormImage - возвращает информацию об изображении со ссылкой для чтения файла изображения из MultipartForm. WARNING: you don't forget to call result.Body.Close().

func (*Image) FormImageContent added in v0.12.0

func (p *Image) FormImageContent(r *http.Request, key string) (mrtype.ImageContent, error)

FormImageContent - возвращает информацию об изображении и сам файл изображения из MultipartForm. WARNING: only for short files.

func (*Image) FormImages added in v0.14.0

func (p *Image) FormImages(r *http.Request, key string) ([]mrtype.ImageHeader, error)

FormImages - возвращает массив заголовков на файлы изображений из MultipartForm.

type ImageOptions added in v0.12.0

type ImageOptions struct {
	File      FileOptions
	MaxWidth  int32
	MaxHeight int32
	CheckBody bool
}

ImageOptions - опции для создания Image.

type Int64 added in v0.12.0

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

Int64 - парсер int числа.

func NewInt64 added in v0.12.0

func NewInt64(pathFunc mrserver.RequestParserParamFunc) *Int64

NewInt64 - создаёт объект Int64.

func (*Int64) FilterInt64 added in v0.12.0

func (p *Int64) FilterInt64(r *http.Request, key string) int64

FilterInt64 - возвращает int число поступившее из внешнего запроса. Если ключ key не найден или возникнет ошибка, то возвращается нулевое значение.

func (*Int64) FilterInt64List added in v0.12.0

func (p *Int64) FilterInt64List(r *http.Request, key string) []int64

FilterInt64List - возвращает массив int чисел поступивший из внешнего запроса. Если ключ key не найден или возникнет ошибка, то возвращается пустой массив.

func (*Int64) FilterRangeInt64 added in v0.12.0

func (p *Int64) FilterRangeInt64(r *http.Request, key string) mrtype.RangeInt64

FilterRangeInt64 - возвращает интервал состоящий из двух int чисел поступивший из внешнего запроса. Если ключ key не найден или возникнет ошибка, то возвращается нулевой интервал.

func (*Int64) PathParamInt64 added in v0.12.0

func (p *Int64) PathParamInt64(r *http.Request, name string) int64

PathParamInt64 - возвращает именованное int число содержащееся в URL пути.

type ItemStatus

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

ItemStatus - парсер mrenum.ItemStatus.

func NewItemStatus

func NewItemStatus() *ItemStatus

NewItemStatus - создаёт объект ItemStatus.

func NewItemStatusWithDefault added in v0.14.2

func NewItemStatusWithDefault(items []mrenum.ItemStatus) *ItemStatus

NewItemStatusWithDefault - создаёт объект ItemStatus со статусами по умолчанию.

func (*ItemStatus) FilterStatusList

func (p *ItemStatus) FilterStatusList(r *http.Request, key string) []mrenum.ItemStatus

FilterStatusList - возвращает массив mrenum.ItemStatus поступивший из внешнего запроса. Если ключ key не найден или возникнет ошибка, то возвращается пустой массив.

type KeyInt32

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

KeyInt32 - парсер mrtype.KeyInt32 числа.

func NewKeyInt32

func NewKeyInt32(pathFunc mrserver.RequestParserParamFunc) *KeyInt32

NewKeyInt32 - создаёт объект KeyInt32.

func (*KeyInt32) FilterKeyInt32

func (p *KeyInt32) FilterKeyInt32(r *http.Request, key string) mrtype.KeyInt32

FilterKeyInt32 - возвращает mrtype.KeyInt32 число поступившее из внешнего запроса. Если ключ key не найден или возникнет ошибка, то возвращается нулевое значение.

func (*KeyInt32) FilterKeyInt32List

func (p *KeyInt32) FilterKeyInt32List(r *http.Request, key string) []mrtype.KeyInt32

FilterKeyInt32List - возвращает массив mrtype.KeyInt32 чисел поступивший из внешнего запроса. Если ключ key не найден или возникнет ошибка, то возвращается пустой массив.

func (*KeyInt32) PathKeyInt32

func (p *KeyInt32) PathKeyInt32(r *http.Request, name string) mrtype.KeyInt32

PathKeyInt32 - возвращает именованное mrtype.KeyInt32 число содержащееся в URL пути.

type ListPager added in v0.14.0

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

ListPager - парсер параметров для выборки части списка элементов.

func NewListPager added in v0.14.0

func NewListPager(opts ListPagerOptions) *ListPager

NewListPager - создаёт объект ListPager.

func (*ListPager) PageParams added in v0.14.0

func (p *ListPager) PageParams(r *http.Request) mrtype.PageParams

PageParams - возвращает распарсенные параметры выборки части списка элементов.

type ListPagerOptions added in v0.14.0

type ListPagerOptions struct {
	ParamNamePageIndex string
	ParamNamePageSize  string
	PageSizeMax        uint64
	PageSizeDefault    uint64
}

ListPagerOptions - опции для создания ListPager.

type ListSorter added in v0.14.0

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

ListSorter - парсер параметров для сортировки списка элементов.

func NewListSorter added in v0.14.0

func NewListSorter(opts ListSorterOptions) *ListSorter

NewListSorter - создаёт объект ListSorter.

func (*ListSorter) SortParams added in v0.14.0

func (p *ListSorter) SortParams(r *http.Request, sorter mrview.ListSorter) mrtype.SortParams

SortParams - возвращает распарсенные параметры сортировки списка элементов.

type ListSorterOptions added in v0.14.0

type ListSorterOptions struct {
	ParamNameSortField     string
	ParamNameSortDirection string
}

ListSorterOptions - опции для создания ListSorter.

type Parser added in v0.14.0

Parser - агрегатор базовых парсеров.

func NewParser added in v0.14.0

func NewParser(
	p1 *Bool,
	p2 *DateTime,
	p3 *Int64,
	p4 *KeyInt32,
	p5 *ListSorter,
	p6 *ListPager,
	p7 *String,
	p8 *UUID,
	p9 *Validator,
	p10 *File,
	p11 *Image,
) *Parser

NewParser - создаёт объект Parser.

type String added in v0.12.0

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

String - парсер строки.

func NewString added in v0.12.0

func NewString(pathFunc mrserver.RequestParserParamFunc) *String

NewString - создаёт объект String.

func (*String) FilterString added in v0.12.0

func (p *String) FilterString(r *http.Request, key string) string

FilterString - возвращает строка поступившая из внешнего запроса. Если ключ key не найден или возникнет ошибка, то возвращается пустое значение.

func (*String) PathParamString added in v0.12.0

func (p *String) PathParamString(r *http.Request, name string) string

PathParamString - возвращает именованная строка содержащаяся в URL пути. Если ключ name не найден, то возвращается пустое значение.

func (*String) RawParamString added in v0.12.0

func (p *String) RawParamString(r *http.Request, name string) *string

RawParamString - возвращает именованная строка содержащаяся в URL пути. Если ключ name не найден, то возвращается nil значение.

type UUID

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

UUID - парсер UUID.

func NewUUID

func NewUUID(pathFunc mrserver.RequestParserParamFunc) *UUID

NewUUID - создаёт объект UUID.

func (*UUID) FilterUUID

func (p *UUID) FilterUUID(r *http.Request, key string) uuid.UUID

FilterUUID - возвращает UUID поступивший из внешнего запроса. Если ключ key не найден или возникнет ошибка, то возвращается uuid.Nil.

func (*UUID) PathParamUUID

func (p *UUID) PathParamUUID(r *http.Request, name string) uuid.UUID

PathParamUUID - возвращает именованный UUID содержащийся в URL пути.

type Validator

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

Validator - парсер полей структур с валидацией указанной в тегах полей.

func NewValidator

func NewValidator(decoder mrserver.RequestDecoder, validator mrview.Validator) *Validator

NewValidator - создаёт объект Validator.

func (*Validator) Validate

func (p *Validator) Validate(r *http.Request, structPointer any) error

Validate - возвращает в structPointer распарсеный внешний запрос или ошибку, если валидация запроса не прошла.

func (*Validator) ValidateContent added in v0.14.0

func (p *Validator) ValidateContent(ctx context.Context, content []byte, structPointer any) error

ValidateContent - возвращает в structPointer распарсенный []byte или ошибку, если валидация запроса не прошла.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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