ff

package module
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2025 License: MIT Imports: 14 Imported by: 0

README

ff

publish-docker-image CI codecov

query

see test file

Development

Build
go build -o dist/ ./cmd/...
Lint
go tool golangci-lint run
Test
go test ./... -v -coverprofile=coverage.txt -covermode=atomic

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoResponseBody = errors.New("no response body to cache")

Functions

func Apply

func Apply(f *gofeed.Feed, ff []FilterFunc, mf []ModifierFunc) (*gofeed.Feed, error)

func Convert

func Convert(f *gofeed.Feed) *feeds.Feed

func From

func From(param string, attr *time.Time) bool

func Latest

func Latest(_ string, attr *time.Time) bool

func Mute

func Mute(params []string, attr string) bool

mute.

func ParseQueries

func ParseQueries(queries url.Values,
	filtersMap FilterFuncMap,
	modifiersMap ModifierFuncMap) ([]FilterFunc,
	[]ModifierFunc,
)

Types

type CacheMiddleware added in v0.0.4

type CacheMiddleware struct {
	TmpDir string
	// contains filtered or unexported fields
}

func NewCacheMiddleware added in v0.0.4

func NewCacheMiddleware(next http.Handler) (*CacheMiddleware, error)

func (*CacheMiddleware) GetCacheKey added in v0.0.4

func (c *CacheMiddleware) GetCacheKey(params url.Values) string

func (*CacheMiddleware) GetStoredETag added in v0.0.4

func (c *CacheMiddleware) GetStoredETag(cacheKey string) string

func (*CacheMiddleware) IsCacheFresh added in v0.0.4

func (c *CacheMiddleware) IsCacheFresh(
	ctx context.Context, upstreamURL string, cacheKey string, cacheTime time.Time,
) bool

func (*CacheMiddleware) RemoveETag added in v0.0.4

func (c *CacheMiddleware) RemoveETag(cacheKey string)

func (*CacheMiddleware) ServeHTTP added in v0.0.4

func (c *CacheMiddleware) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*CacheMiddleware) StoreETag added in v0.0.4

func (c *CacheMiddleware) StoreETag(cacheKey string, etag string)

type FilterFunc

type FilterFunc = func(ctx context.Context, i *gofeed.Item) bool

func AuthorContains

func AuthorContains(param string) FilterFunc

func AuthorEqual

func AuthorEqual(param string) FilterFunc

func AuthorNotContains

func AuthorNotContains(param string) FilterFunc

func AuthorNotEqual

func AuthorNotEqual(param string) FilterFunc

func CreateFilter

func CreateFilter(key string, value string, filters map[string]FilterFuncCreator) FilterFunc

func DateLatest

func DateLatest(_ string) FilterFunc

func DescriptionContains

func DescriptionContains(param string) FilterFunc

func DescriptionEqual

func DescriptionEqual(param string) FilterFunc

func DescriptionNotContains

func DescriptionNotContains(param string) FilterFunc

func DescriptionNotEqual

func DescriptionNotEqual(param string) FilterFunc

func LinkContains

func LinkContains(param string) FilterFunc

func LinkEqual

func LinkEqual(param string) FilterFunc

func LinkNotContains

func LinkNotContains(param string) FilterFunc

func LinkNotEqual

func LinkNotEqual(param string) FilterFunc

func NilFilter

func NilFilter(_ string) FilterFunc

func PublishedAtFrom

func PublishedAtFrom(param string) FilterFunc

func PublishedAtLatest

func PublishedAtLatest(_ string) FilterFunc

func TitleContains

func TitleContains(param string) FilterFunc

func TitleEqual

func TitleEqual(param string) FilterFunc

func TitleNotContains

func TitleNotContains(param string) FilterFunc

func TitleNotEqual

func TitleNotEqual(param string) FilterFunc

func UpdateAtFrom

func UpdateAtFrom(param string) FilterFunc

func UpdateAtLatest

func UpdateAtLatest(_ string) FilterFunc

type FilterFuncCreator

type FilterFuncCreator = func(param string) FilterFunc

func CreateAuthorMute

func CreateAuthorMute(targets []string) FilterFuncCreator

func CreateLinkMute

func CreateLinkMute(targets []string) FilterFuncCreator

type FilterFuncMap

type FilterFuncMap = map[string]FilterFuncCreator

func CreateFiltersMap

func CreateFiltersMap(muteAuthors, muteURLs []string) FilterFuncMap

type ModifierFunc

type ModifierFunc = func(i *gofeed.Item) *gofeed.Item

func CreateModifier

func CreateModifier(key string, value string, modifiers map[string]ModifierFuncCreator) ModifierFunc

func RemoveContent

func RemoveContent(_ string) ModifierFunc

func RemoveDescription

func RemoveDescription(_ string) ModifierFunc

Remove.

type ModifierFuncCreator

type ModifierFuncCreator = func(param string) ModifierFunc

type ModifierFuncMap

type ModifierFuncMap = map[string]ModifierFuncCreator

func CreateModifierMap

func CreateModifierMap() ModifierFuncMap

type ResponseRecorder added in v0.0.4

type ResponseRecorder struct {
	http.ResponseWriter
	// contains filtered or unexported fields
}

func (*ResponseRecorder) Write added in v0.0.4

func (r *ResponseRecorder) Write(data []byte) (int, error)

func (*ResponseRecorder) WriteHeader added in v0.0.4

func (r *ResponseRecorder) WriteHeader(statusCode int)

Directories

Path Synopsis
cmd
ff command

Jump to

Keyboard shortcuts

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