Skip to content

Move from proxies to well-defined adapters #380

Description

@grzuy

An attempt to address #316

What?

  • Create a cache store Adapter interface, that defines which are the minimal set of methods that rack-attack needs to function properly.
  • Transform existing proxies into adapters, which implement the defined Adapter interface. E.g. "redis adapter", "memcache adapter".

Why?

End users benefits

  • More clear on what and what not to expect when reading/accessing Rack::Attack.cache.store
  • Less confusion when configuring rack-attack cache store backend
  • Less friction to introduce new cache store backends
    • Well-defined interface eases development and testing of new adapters
    • plus is easier for anyone to code and release new adapter as separate gem if they want, instead of being forced to get approval upstream

Contributors & Maintainers benefits

  • Easier to test
  • Easier to debug cache store issues
  • Easier to implement support for new cache store backends
  • Better maintainability in general

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions