41 lines
1.6 KiB
Smarty
41 lines
1.6 KiB
Smarty
{{- define "tc.v1.common.class.traefik.middleware.pluginRewriteResponseHeaders" -}}
|
|
{{- $objectData := .objectData -}}
|
|
{{- $rootCtx := .rootCtx -}}
|
|
|
|
{{- $mw := $objectData.data -}}
|
|
|
|
{{/* This has to match with the name of the plugin given on the traefik CLI */}}
|
|
{{- $mwName := "rewriteResponseHeaders" -}}
|
|
{{- if $mw.pluginName -}}
|
|
{{- $mwName = $mw.pluginName -}}
|
|
{{- end -}}
|
|
|
|
{{- if not $mw.rewrites -}}
|
|
{{- fail "Middleware (rewrite-response-headers) - Expected [rewrites] to be set" -}}
|
|
{{- end }}
|
|
|
|
{{- if not (kindIs "slice" $mw.rewrites) -}}
|
|
{{- fail (printf "Middleware (rewrite-response-headers) - Expected [rewrites] to be a list, but got [%s]" (kindOf $mw.rewrites)) -}}
|
|
{{- end }}
|
|
|
|
{{- range $index, $config := $mw.rewrites -}}
|
|
{{- if not $config.header -}}
|
|
{{- fail (printf "Middleware (rewrite-response-headers) - Expected [header] to be set for rewrite [%v]" $index) -}}
|
|
{{- end -}}
|
|
{{- if not $config.regex -}}
|
|
{{- fail (printf "Middleware (rewrite-response-headers) - Expected [regex] to be set for rewrite [%v]" $index) -}}
|
|
{{- end -}}
|
|
{{- if not $config.replacement -}}
|
|
{{- fail (printf "Middleware (rewrite-response-headers) - Expected [replacement] to be set for rewrite [%v]" $index) -}}
|
|
{{- end -}}
|
|
{{- end }}
|
|
plugin:
|
|
{{ $mwName }}:
|
|
rewrites:
|
|
{{- range $index, $rewriteResponseHeader := $mw.rewrites }}
|
|
- header: {{ $rewriteResponseHeader.header }}
|
|
regex: {{ $rewriteResponseHeader.regex | quote }}
|
|
replacement: {{ $rewriteResponseHeader.replacement | quote }}
|
|
{{- end }}
|
|
{{- end -}}
|