plugin_ramcache

package module
v0.0.0-...-acd7ec5 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2022 License: Apache-2.0 Imports: 8 Imported by: 0

README

Simple RAM Cache

This is a fork from https://github.com/traefik/plugin-simplecache

Simple cache plugin middleware caches responses on RAM.

Configuration

To configure this plugin you should add its configuration to the Traefik dynamic configuration as explained here. The following snippet shows how to configure this plugin with the File provider in TOML and YAML:

Static:

[pilot]
  token="xxx"

[experimental.plugins.cache]
  modulename = "github.com/scrazy77/plugin-ramcache"
  version = "v0.1.1"

Dynamic:

[http.middlewares]
  [http.middlewares.my-cache.plugin.cache]
    maxExpiry = 300
http:
  middlewares:
   my-cache:
      plugin:
        cache:
          maxExpiry: 300
Options
Max Expiry (maxExpiry)

Default: 300

The maximum number of seconds a response can be cached for. The actual cache time will always be lower or equal to this.

Add Status Header (addStatusHeader)

Default: true

This determines if the cache status header Cache-Status will be added to the response headers. This header can have the value hit, miss or error.

CacheQueryParams (cacheQueryParams)

Default: false

This determines if query parameters will also be part of the cached response.

BlacklistedHeaders (blacklistedHeaders)

Default: []

This sets a lists of headers that will make the cache skip caching the request and response.

ForceNoCacheHeader (forceNoCacheHeader)

Default: false

This force sets a cache-control: no-cache headers when serve response.

Documentation

Overview

Package plugin-ramcache is a plugin to cache responses to disk.

Package plugin-ramcache is a plugin to cache responses to memory.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(_ context.Context, next http.Handler, cfg *Config, name string) (http.Handler, error)

New returns a plugin instance.

Types

type Config

type Config struct {
	MaxExpiry          int      `json:"maxExpiry" yaml:"maxExpiry" toml:"maxExpiry"`
	RefreshTime        int      `json:"refreshTime" yaml:"refreshTime" toml:"refreshTime"`
	AddStatusHeader    bool     `json:"addStatusHeader" yaml:"addStatusHeader" toml:"addStatusHeader"`
	CacheQueryParams   bool     `json:"cacheQueryParams" yaml:"cacheQueryParams" toml:"cacheQueryParams"`
	ForceNoCacheHeader bool     `json:"forceNoCacheHeader" yaml:"forceNoCacheHeader" toml:"forceNoCacheHeader"`
	BlacklistedHeaders []string `json:"blacklistedHeaders" yaml:"blacklistedHeaders" toml:"blacklistedHeaders"`
}

Config configures the middleware.

func CreateConfig

func CreateConfig() *Config

CreateConfig returns a config instance.

Jump to

Keyboard shortcuts

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